web-dev-qa-db-ja.com

virtualenvは本番サーバーに適していますか?

サーバーにPython app( Pyblosxom )をセットアップし、それを独自の virtualenv sandbox で実行することを検討しています。 --no-site-packages。このような設定は、簡単に持ち運びでき、何年にもわたって保守できることを願っています。

ただし、特定のサーバーセットアップをローカルで再作成する開発環境にはvirtualenvのみを使用しており、virtualenvに関するほとんどのソースでは、そのような使用のためにvirtualenvについても言及しているようです。

ライブサーバー上のvirtualenvからPythonアプリを実行することに欠点はありますか?

注:セットアップの移植性については、実験的な--relocatable新しいパッケージのインストール後に実行する必要があるオプション。たとえ私がこれをしなかったとしても、セットアップはpipのおかげでかなりポータブルになると思います。

15
gnufs

はい、virtualenvは本番環境に非常に適しています-(非常に)大規模なPythonを使用する顧客がvirtualenv内でアプリを実行しており、システムから分離しておくのに非常にうまく機能しますPython =構成。

ただし、「移植性」のために使用することはお勧めしません。つまり、すべてをマシンからマシンに転送しようとします。他の誰も気づかない互換性がないために、微妙な障害が発生する機会が多すぎます(これは広く行われていることではないためです)。代わりに、新しいマシンの要件に一致する新しいvirtualenvをセットアップできる自動化を使用してください。

15
womble