8

私は仮想環境について読んでいて、非常に便利なツールのように思えますが、これまでの python 環境全体をどのようにセットアップしたのか疑問に思っています。現在、インストールしたすべてのモジュールとパッケージは次のディレクトリにあります。

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

しかし、virtualenv のドキュメントは、そのようなユニバーサル システムのインストールは悪いことだと示唆しているようです。その場合、現在のモジュールをどうすればよいですか? また、将来のモジュールをどのようにインストールすればよいでしょうか? たとえば、最近、次のコマンドを使用してユーザー ディレクトリからフラスコをインストールしました。

pip install flask

現在、サイトパッケージに常駐しています。私は何か違うことをするべきでしたか?プロジェクト ディレクトリに移動し、仮想環境をセットアップし、virtualenv を使用して必要なすべてのモジュールをインストールする必要があることを示唆しているようです。これは事実ですか?負担を軽減する方法はありますか?プロジェクトディレクトリごとに潜在的に数十のパッケージをインストールするのは少し大変なようです。

それとも、システム ディレクトリにインストールしたモジュールよりも古いバージョンのモジュールを使用するプロジェクトの仮想環境を作成するだけでよいのでしょうか? しかし、その場合、すべてのシステムのインストールを思いとどまらせているように見える virtualenv マントラはどうなっているのでしょうか?

4

2 に答える 2

14

次のようにvirtualenvをすでにインストールしている場合:

pip install virtualenv

次に、特定の virtualenv フォルダーをセットアップします。

virtualenv [your project folder name]

これにより、いくつかの重要なサブディレクトリを含むプロジェクト フォルダーが作成されます。

新しいものをインストールする前にまずvirtualenvをアクティブにします。新しくインストールされたモジュールは、virtualenvに「ソース」された場合にのみ使用できます。プロジェクト フォルダーから次のように入力します。

source bin/activate

次に、各端末行の括弧内に virtualenv 名が表示されます。これは、「ソース」であることを示しています。今すぐ、pip または easy_install を使用してインストールしてください。

pip install flask

virtualenv は基本的に、/usr/local/bin などではなく、[venv フォルダー]/bin で実行可能ファイルを探すようにパスを設定します。そのため、ファイルを仮想環境の bin フォルダーに直接コピーできます。(たとえば、MongoDB ファイルは zip/tar ファイルに入っています。それらを venv bin フォルダーに untar するだけで、'source' されたときにその特定のバージョンの MongoDB にアクセスできます。) 自分で試して、からこのコマンドを実行します。仮想環境、次にデフォルト環境を変更して、それがどのように変化するかを確認します。

echo $PATH && echo $PYTHONPATH

virtualenv を終了するには:

deactivate

これを入力すると、デフォルトの環境に戻ります。

これをまだ読んでいない場合は、非常に優れたリソースです。

https://python-guide.readthedocs.org/en/latest/dev/virtualenvs/

于 2013-02-02T22:18:28.023 に答える
0

本番環境に何かを配置/サポートする前に、virtualenv のメリットはほとんどありません。virtualenv をアクティブ化するための追加の手順にすぎません。もちろん、すべての virtualenv に標準環境をインストールする必要があります。それほど余分な労力は必要ありません...

ただし、何かを本番環境に置くと、夜に物事がぶつかったときに大きな勝利を収める可能性があります:-)

于 2013-02-02T22:53:37.453 に答える