ホームページ  >  記事  >  バックエンド開発  >  Conda 環境が環境パッケージよりもローカルにインストールされたパッケージを優先するのはなぜですか?

Conda 環境が環境パッケージよりもローカルにインストールされたパッケージを優先するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-21 05:47:09341ブラウズ

Why Does My Conda Environment Prioritize Locally Installed Packages Over Environment Packages?

Conda 環境の予期しない Python パス

問題ステートメント:

Conda 環境では、 Python パス内のディレクトリの予期しない順序により、Conda 環境にインストールされたパッケージよりも、Conda 以外のローカル パスにインストールされたパッケージが優先されます。

説明:

この動作は PEP 370 に記載されています。サイト モジュールは、プレフィックス サイトを追加する前に、ユーザー サイトを sys.path に追加します。この優先順位付けにより、ユーザーはシステム レベルでインストールされたパッケージよりもユーザー レベルでインストールされたパッケージを優先することができます。

回避オプション:

この優先順位付けを回避するには、いくつかのオプションがあります。利用可能:

  1. 環境変数: ユーザーレベルのサイトパッケージの読み込みを切り替えるには、PYTHONNOUSERSITE=1 を設定します。
  2. Python -s フラグ: ユーザーレベルのサイトパッケージのロードを明示的に無効にするには、-s フラグを有効にします。
  3. ユーザーレベルのインストールの削除: ~/.local/lib/python* を削除します。今後のユーザーレベルのインストールを防ぐために、フォルダーをシステムから削除します。
  4. 自動化された Conda 環境変数:

    • conda-ecosystem-user-package をインストールします。 Conda Forge の -isolation パッケージを使用して、環境のアクティブ化中に PYTHONNOUSERSITE=1 を自動的に設定します。
    • または、merv::envvar-pythonnousersite-true または merv::envvar-pythonpath-null パッケージをインストールして、特定の環境変数を設定します。

以上がConda 環境が環境パッケージよりもローカルにインストールされたパッケージを優先するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。