7
  1. グローバル サイト パッケージとローカル サイト パッケージの両方に特定のパッケージをインストールした場合、どのパッケージがインポートされますか? それは機能しますか、それともエラーが発生しますか?
  2. どのパッケージをグローバル サイト パッケージに配置し、どのパッケージをローカル サイト パッケージに配置する必要がありますか?
4

2 に答える 2

9

前の回答は質問 1 をまとめていますが、質問 2 は無視しています。

どのパッケージをグローバルに配置するかについて、私が見た一般的なベストプラクティスは次のとおりです。

まず、主要なバージョンをアップグレードしない限り、これらは下位互換性の問題で変更されないため、コア Python パッケージです。Python アップグレードからのセキュリティ修正が自動的に virtualenvs に適用されるようにする必要があります。

第 2 に、個々の virtualenv に easy_install や pip をインストールするのが面倒だが、それほど頻繁には変更されないパッケージ (MySQLdb/psycopg や PIL など)。

他のほとんどすべてのものは、virtualenv のパッケージに入れる必要があります ( pip要件ファイルとvirtualenvwrapperを使用して、他のマシンでのセットアップを最小限に抑え、簡単にすることを強くお勧めします)。

于 2009-12-07T17:56:11.607 に答える
3

--no-site-packages で作成されていない限り、新しく作成された仮想環境はデフォルトでグローバルな site-packages ディレクトリにアクセスできます。特定の環境を有効にして easy_install (新しいパッケージのインストール) を呼び出すと、グローバル サイト パッケージ内の既存の環境がローカルで上書きされます (継承と同様)。環境は、見つからない場合は独自のローカル パッケージ (グローバル パッケージ) を使用します。

于 2009-12-07T15:15:14.613 に答える