2017-02-13 7 views
0

Ich kann nicht scheinen, mein manage.py-Skript zu erhalten, das django-Modul zu erkennen. pip install req/dev.txt installiert alle Module, die ich in meiner virtuellen Python-Umgebung erwarten würde (gespeichert in .venv).Python manage.py ImportError: Kein Modul namens django

Ich glaube, ich habe es auf ein Problem entweder mit meinem $ PYTHON_PATH oder mit meinen Pip-Anforderungsdateien eingegrenzt. Ich habe sys.path durchlaufen, und ich sehe, dass einer der Werte auf einen Ordner in .venv zeigt, den ich bestätigen kann, enthält das Django-Modul.

Ich bin leider ratlos. Ich habe ein Dutzend verwandter Fragen zu Stack Overflow durchsucht und muss noch eine Lösung finden, die funktioniert. Hat jemand irgendwelche Hinweise, um mich in die richtige Richtung zu weisen?

Fehlermeldung:

$ python manage.py syncdb 

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Users/nathan/www/myapp/.venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/Users/nathan/www/myapp/.venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute 
    django.setup() 
    File "/Users/nathan/www/myapp/.venv/lib/python2.7/site-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/Users/nathan/www/myapp/.venv/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "/Users/nathan/www/myapp/.venv/lib/python2.7/site-packages/django/apps/config.py", line 119, in create 
    import_module(entry) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named django 

Inhalt reqs/dev.txt

-r common.txt 
django-debug-toolbar==1.3.2 

Inhalt reqs/common.txt

django==1.8 
Fabric==1.10.2 
ShopifyAPI>=2.1.5 
Sphinx==1.3.1 
celery>=3.1.20 
django-compressor>=1.5 
django-toolbelt>=0.0.1 
jdcal>=1.0 
kombu>=3.0.35 
openpyxl==2.2.5 
python-dateutil>=2.4.2 
psycopg2>=2.5 
requests==2.7.0 
whitenoise==2.0 
shippo==1.4.0 

Inhalt von manage.py:

#!/usr/bin/env python 
import os 
import sys  

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings.dev") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 
+3

Sie sollten trotzdem ein virtualenv für Ihre Entwicklung erstellen, dies zu tun (und es zu verwenden) sollte Ihre Probleme lösen – Sayse

+1

Vielen Dank - während ich ein Venv ausgeführt hatte, erkannte ich, dass ich es überprüfen sollte (es war) Das führte mich zu der Erkenntnis, dass ich in den Stack-Trace eintauchen und einfach anfangen sollte, Dinge zu drucken, um zu debuggen, auf welche Inputs die Dinge einbrechen. Das hat mich zu meiner unten beschriebenen Lösung geführt! Vielen Dank –

Antwort

2

Problem gelöst nach einer guten Nachtruhe.

Das Problem war, dass meine INSTALLED_APPS einen Verweis auf kombu.transport.django hatte, die eine völlig unnötige Abhängigkeit scheint, die wir für Sellerie hinzugefügt haben. Weitere Informationen zu diesem hier: Celery, kombu and django - import error

Wie ich die Lösung gefunden wird, wenn die Debugging-Technik jemand hilft anderes:

ich durch Tauchen in den Stack-Trace gestartet. I (vorübergehend) modifizierte, um die Dateien in .venv/ print-Anweisungen für die Eingangsvariablen hinzufügen, bis ich meinen ersten Hinweis in populate() in .venv/lib/python2.7/site-packages/django/apps/registry.py

Drucke über jeden Eintrag in populate() gefunden erlaubt, mich zu sehen, dass das Paket, das war anbrach kombu.transport.django und NICHT das django Modul richtig. Durch das Löschen dieses Eintrags von INSTALLED_APPS wurde das Problem behoben.

Um aufzuräumen, habe ich die Dateien in .venv/ zurückgesetzt, indem ich meine Druckanweisungen löschte und ich war aus und läuft!

Verwandte Themen