J'ai un projet appelé ABC, j'ai un conda env juste pour lui dans le pli ~/anaconda/envs/ABC, je crois que c'est un venv, et je veux utiliser des packages spécifiques à partir des packages du site global.

Pour une installation Python normale, cela peut être fait en supprimant le no-global-site-package.txt du dossier venv, ou en définissant le venv pour utiliser global-site-packages, mais je n'ai trouvé aucune approche équivalente pour ce faire à Anaconda. La documentation en ligne n'a pas de réponse non plus.

Comment faire cela pour Anaconda?

9
shelper 7 mars 2016 à 05:32

3 réponses

Meilleure réponse

Dans le cas où quelqu'un y reviendrait maintenant, pour conda 4.7.12, saisir export PYTHONNOUSERSITE=True avant l'appel conda activate a réussi à isoler l'environnement conda des packages de site global / utilisateur pour moi.

D'un autre côté, la saisie de export PYTHONNOUSERSITE=0 permet de réintroduire l'environnement conda dans les packages de site global / utilisateur.

Remarque: Ceci remplace le export PYTHONNOUSERSITE=1 précédemment suggéré.

1
NMntn 28 déc. 2019 à 06:06

Vous ne pouvez pas le faire explicitement dans conda, où le principe est que les envs sont entièrement séparés.

mais le comportement par défaut actuel de conda est de permettre à tous les packages de sites utilisateur globaux d'être vus à partir des environnements, comme mentionné dans cette question . ainsi, le comportement par défaut vous permettra de faire comme vous le souhaitez, mais il n'y a aucun moyen d'autoriser uniquement "certains packages" globaux comme demandé.

Ce comportement a provoqué one ou deux problèmes. pour l'éviter, export PYTHONNOUSERSITE=1 avant source activate <your env>. notez que les développeurs prévoient de changer le comportement par défaut pour définir PYTHONNOUSERSITE=1 dans 4.4.0 (par le deuxième problème lié).

4
Community 23 mai 2017 à 12:02

Vous pouvez utiliser la variable d'environnement PYTHONPATH. Par exemple

export PYTHONPATH="/Users/me/anaconda/lib/python2.7/site-packages:$PYTHONPATH"

Donnerait à chaque environnement l'accès à toutes les bibliothèques de la distribution anaconda. En quelque sorte, cela défait le but des environnements. Et si vous souhaitez également accéder à une bibliothèque que vous avez installée avec Home-Brew, vous ajouteriez

export PYTHONPATH=/usr/local/Cellar/another_package/lib/python2.7/site-packages:$PYTHONPATH
0
aquagremlin 3 mai 2016 à 03:10