既存のDjangoアプリケーションを自分のMacBook上でローカルに実行しています。ディレクトリ構造は次のようになります。
myproject/
mySite/
__init__.py
settings.py
urls.py
wsgi.py
myApp1/
__init__.py
models.py
views.py
manage.py
requirements.txt
これまで、私は自分のアプリを実行するためにDjangoトイWebサーバーを使用してきました。 ./manage.py runserver 0.0.0.0:8000
。しかし今は代わりにgunicornを使いたいと思います。だから私は指示に従っている」 ここに.
私がやります source myVirtualenv/bin/activate && cd myproject && gunicorn mySite.wsgi
。次のエラーが表示されます。
File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "myproject/MyApp2/models.py", line 11, in <module>
from caching.base import CachingManager, CachingMixin
ImportError: No module named caching.base
私が走るとき ./manage.py runserver 0.0.0.0:8000
同じ場所からそれは完璧に動作します。
どうして?私は何か悪いことをしていますか? Django-Cache-MachineはGunicorn / WSGIでは動作しませんか?この問題を回避する方法
回答:
回答№1は1グローバルにgunicornをインストールしたようですそのため、実行可能ファイルはvirtualenv内ではなく、グローバルPythonとそのsite-packagesディレクトリを指しています。 gunicornをローカルに再インストールしてください。
回答№2については2
gunicornを使ってプロジェクトを実行するには、次のことを試してください。
- あなたのvirtualenvを起動してください
- プロジェクトのディレクトリに移動します
- 走る
gunicorn mySite.wsgi:application --bind 127.0.0.1:8000
コマンドがうまく機能すれば、私よりあなたはセットアップされています。それ以外の場合は、次のチュートリアルを試してください。プロダクション用の新しいプロジェクトをセットアップするときは、常にこのチュートリアルを自分で使います。それを試してみてください。 Nginx、Gunicorn、SupervisorでDjangoを設定する