2017-02-13 37 views
0

我似乎無法讓我的manage.py腳本識別django模塊。 pip install req/dev.txt將我期望的所有模塊安裝到我的python虛擬環境中(存​​儲在.venv中)。Python manage.py ImportError:沒有名爲django的模塊

我想我已經縮小了它與我的$ PYTHON_PATH或我的點子需求文件的問題。我已經通過sys.path循環,並且我看到其中一個值指向.venv中的一個文件夾,我可以確認它包含django模塊。

我不幸處於虧損狀態。我已經通過Stack Overflow搜索了十幾個相關的問題,並且尚未找到可行的解決方案。有沒有人有任何線索指向正確的方向?

錯誤消息:

:請求數/ dev.txt

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

內容請求數的/ 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 

manage.py的內容的

$ 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 

內容

#!/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

你應該爲你的開發創建一個virtualenv,這樣做(並使用它)應該解決你的問題 – Sayse

+1

謝謝 - 雖然我確實有一個venv運行,我意識到我應該驗證它正在使用(它是) ,這讓我意識到我應該深入到堆棧跟蹤中,並開始打印某些東西來調試哪些輸入事件正在破壞。這導致我的解決方案,寫在下面!謝謝 –

回答

2

晚上好好休息後問題解決了。

問題是我的INSTALLED_APPS引用了kombu.transport.django,這似乎是我們爲芹菜添加的完全不必要的依賴項。在這裏的更多信息:Celery, kombu and django - import error

我如何發現解決方案,以防調試技術可以幫助別人:

我開始跳水入堆棧跟蹤。我(暫時)修改的文件中.venv/添加打印語句輸入變量,直到我發現我在populate()第一條線索在.venv/lib/python2.7/site-packages/django/apps/registry.py

印刷通過populate()每個條目讓我看到,這是打破了包得kombu.transport.django和不是django模塊正確。從我的INSTALLED_APPS刪除該條目解決了這個問題。

要清理我通過刪除我的打印語句恢復了.venv/中的文件,並且我已關閉並正在運行!

相關問題