Heim  >  Artikel  >  Backend-Entwicklung  >  Warum priorisiert meine Conda-Umgebung lokal installierte Pakete gegenüber Umgebungspaketen?

Warum priorisiert meine Conda-Umgebung lokal installierte Pakete gegenüber Umgebungspaketen?

Susan Sarandon
Susan SarandonOriginal
2024-11-21 05:47:09341Durchsuche

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

Unerwartete Python-Pfade in der Conda-Umgebung

Problemstellung:

In einer Conda-Umgebung Die unerwartete Reihenfolge der Verzeichnisse im Python-Pfad führt dazu, dass Pakete, die in lokalen Nicht-Conda-Pfaden installiert werden, Vorrang vor denen haben, die in der Conda-Umgebung installiert sind.

Erklärung:

Dieses Verhalten ist in PEP 370 dokumentiert. Das Site-Modul hängt die Benutzer-Site an den sys.path an, bevor es die Präfix-Site anhängt. Diese Priorisierung ermöglicht es Benutzern, auf Benutzerebene installierte Pakete gegenüber auf Systemebene installierten Paketen zu priorisieren.

Optionen zur Vermeidung:

Um diese Priorisierung zu vermeiden, gibt es mehrere Optionen verfügbar:

  1. Umgebungsvariable:Setzen Sie PYTHONNOUSERSITE=1, um das Laden von Site-Paketen auf Benutzerebene umzuschalten.
  2. Python -s Flag: Aktivieren Sie das Flag -s, um das Laden von Site-Paketen auf Benutzerebene explizit zu deaktivieren.
  3. Installationsentfernung auf Benutzerebene: Entfernen Sie ~/.local/lib/python* Ordner aus dem System, um zukünftige Installationen auf Benutzerebene zu verhindern.
  4. Automatisierte Conda-Umgebungsvariable:

    • Installieren Sie das conda-ecosystem-user-package -isolationspaket von Conda Forge, um PYTHONNOUSERSITE=1 während der Umgebungsaktivierung automatisch festzulegen.
    • Alternativ können Sie die Pakete merv::envvar-pythonnousersite-true oder merv::envvar-pythonpath-null installieren, um bestimmte Umgebungsvariablen festzulegen.

Das obige ist der detaillierte Inhalt vonWarum priorisiert meine Conda-Umgebung lokal installierte Pakete gegenüber Umgebungspaketen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn