2017-02-13 27 views
0

manage.pyスクリプトでdjangoモジュールを認識できないようです。 pip install req/dev.txtは私のPython仮想環境(.venvに保存されている)に期待する全てのモジュールをインストールします。Python manage.py ImportError:djangoという名前のモジュールがありません

私は$ PYTHON_PATHまたはpip要件ファイルで問題を絞り込んだと思います。私はsys.pathをループしています。値の1つが.venvのフォルダに、djangoモジュールが含まれていることを確認できることを示しています。

私は残念ながら紛失しています。私はStack Overflowに関する10の関連する質問を調査し、まだうまくいくソリューションを見つけていない。誰かが正しい方向に私を指すための手掛かりを持っていますか?

エラーメッセージ:

:REQS/dev.txt REQSの

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

内容/ common.txt manage.pyの

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 

内容の

$ 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

デバッグ手法は、他の誰に役立ちます場合には、私は、解決策を発見する方法:

私は、スタックトレースにダイビングによって開始されます。私は(一時的に)私はpopulate()内の各エントリを通じて.venv/lib/python2.7/site-packages/django/apps/registry.py

印刷をpopulate()の私の最初の手がかりを見つけるまで入力変数のためのprint文を追加する.venv/内のファイルを変更し、私は破壊されたパッケージがあったことを見ることができkombu.transport.djangodjangoモジュールは適切ではありません。 INSTALLED_APPSからそのエントリを削除すると、問題が解決しました。

クリーンアップするには、私は.venv/のファイルを元に戻してプリント・ステートメントを取り除きました。

関連する問題