Maison  >  Article  >  développement back-end  >  Pourquoi mon environnement Conda donne-t-il la priorité aux packages installés localement par rapport aux packages d'environnement ?

Pourquoi mon environnement Conda donne-t-il la priorité aux packages installés localement par rapport aux packages d'environnement ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-21 05:47:09346parcourir

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

Chemins Python inattendus dans l'environnement Conda

Énoncé du problème :

Dans un environnement Conda, l'ordre inattendu des répertoires dans le chemin Python conduit à la priorisation des packages installés dans des chemins locaux non Conda par rapport à ceux installés dans le Environnement Conda.

Explication :

Ce comportement est documenté dans PEP 370. Le module de site ajoute le site utilisateur au sys.path avant d'ajouter le préfixe site. Cette priorisation permet aux utilisateurs de donner la priorité aux packages installés au niveau de l'utilisateur par rapport à ceux installés au niveau du système.

Options d'évitement :

Pour éviter cette priorisation, plusieurs options sont disponible :

  1. Variable d'environnement : Définissez PYTHONNOOUSERSITE=1 sur basculer le chargement des packages de site au niveau de l'utilisateur.
  2. Drapeau Python -s : Activez l'indicateur -s pour désactiver explicitement le chargement des packages de site au niveau de l'utilisateur.
  3. Suppression de l'installation au niveau utilisateur : Supprimez les dossiers ~/.local/lib/python* du système pour empêcher de futurs problèmes au niveau utilisateur installations.
  4. Variable d'environnement Conda automatisée :

    • Installez le package conda-ecosystem-user-package-isolation de Conda Forge pour définir automatiquement PYTHONNOUSERSITE =1 lors de l'activation de l'environnement.
    • Vous pouvez également installer le merv::envvar-pythonnousersite-true ou merv::envvar-pythonpath-null pour définir des variables d'environnement spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn