はい、私はあなたが生産にそれを展開するvirtualenvを使うべきだと思います。特に、複数のサービスを展開する予定がある場合など、多くのことが簡単になり、きれいになります。 djangoベースのウェブサイトや他のpythonプロジェクト。彼らはそれぞれがパッケージでグローバルなpython環境を汚染したくないと思っています。
私はvirtualenvがすべての依存関係をきれいに管理するのに役立つと思います。
すべてを行う必要がにある本番のenvを更新するには:私は生産にvirtualenvsを使用して、Webサーバーとしてチェロキーと、アプリケーションを提供するためにuWSGIを使用することができます
pip -r name_of_your_requirements_file.txt
。
本番環境でvirtualenvを使用するには、パスをPYTHONPATHに追加する必要があります。例えば
あなたENVは、パス「/ホーム/ www /のMY_PROJECT/ENV /」を持っている場合、追加するためのパスは次のようになります。
/home/www/env/lib/python2.7/site-packages/
あなたはさまざまな方法でこれを設定しますが、もしすることができますあなたは、単に(休憩前に)あなたのmanage.pyの最上部に以下を追加し、manage.pyを通して、あなたのFCGIやuWSGIインターフェイスを生成している:
import os
my_virtualenv_path = "/home/www/my_project/env/lib/python2.7/site-packages/"
# Add it to your PYTHONPATH
os.path.append(my_virtualenv_path)
をあなただけで、あなたのセットアップにこれを適応させることができますシェルで次のようにすることもできます:
export PYTHONPATH:$PYTHONPATH:/home/www/my_project/env/lib/python2.7/site-packages/
また、settings.pyファイルを含むディレクトリをPYTHONPATHに追加して、Djangoがそれを検出できるようにする必要があります。そうするために同様の方法で進むだけです。
公式のDjangoのドキュメントでは、本番環境でvirtualenvを使用していることに注意してください。https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/#using-a-virtualenv –
私は@ bartek [nginxとuWSGIのデプロイメントの美しさ](http://bartek.im/blog/2012/07/08/simplicity-nginx-uwsgi-deployment.html) –
Herokuはhttps:// devcenterを推奨しています。 heroku.com/articles/deploying-python –