2009-12-07 8 views
7
  1. グローバルサイトパッケージとローカルパッケージの両方に特定のパッケージがインストールされている場合、どのパッケージがインポートされますか?それはうまくいくのだろうか、それともエラーが出るのだろうか?
  2. グローバルサイトパッケージに入れるパッケージとローカルパッケージに入れるべきパッケージはどれですか?

答えて

9

前の回答は、質問1を包み込むが、質問2.

私は世界的に置くためにどのパッケージのために見てきた一般的なベストプラクティス無視:「これらのドンとして

まず、コアPythonパッケージを、メジャーバージョンをアップグレードしない限り、後方互換性のない問題で変更されます。そして、あなたのvirtualenvに自動的に適用されるpythonのアップグレードのセキュリティ修正が必要です。

第2に、easy_installに苦労したり、個々のvirtualenvにpipをインストールするパッケージで、頻繁に変更されることはありません。たとえば、MySQLdb/psycopgとPILです。ほとんど

他のすべてが(私は非常にこれは最小限の痛みと他のマシン上に設定することは容易にするためにpip要件ファイルを使用してvirtualenvwrapperをお勧めします)あなたはvirtualenvのパッケージに行く必要があります。

3

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

+5

*新しく作成された仮想環境では、デフォルトでグローバルサイトパッケージディレクトリにアクセスできます*これはもはや真です。 –

関連する問題