web-dev-qa-db-fra.com

écran à l'intérieur de l'environnement conda ne fonctionne pas

Si je suis dans un environnement de conda qui a disons tenseur installé et si je vais à l'écran et ensuite python -c "import tensorflow";, il est dit module non trouvé. Cependant cela fonctionne bien sans écran. 

11
rgaut

J'ai le même problème: j'ai activé un de mes environnements Conda, disons my_env , et je peux utiliser tensorflow dans my_env . Ensuite, je vais à l'écran. Ici, je ne peux plus importer tensorflow. C'est bizarre car sur l'écran, je vois toujours my_env activé dans "conda env list" ou tensorflow indiqué dans "conda list". 

Une solution pour moi consistait à désactiver cet environnement avant de passer à l'écran. Après être passé à l'écran, j'active my_env . Ensuite, j'ai pu utiliser tensorflow inclus dans ce my_env .

21
jhch

Tout ce que vous avez à faire est de désactiver l'environnement avant d'entrer dans l'écran

source deactivate

Puis entrez dans l'écran 

screen -R my_screen 

Activez ensuite l'environnement

source activate myenv
1
Dheeraj M Pai

Ce problème est créé en ayant une ligne semblable à suivre dans votre fichier $ HOME/.bashrc:

export PATH=$HOME/anaconda3/bin:$PATH

Une fois l’écran démarré, il exécutera votre script .bashrc à nouveau et le chemin sera ajouté à une autre version de $ HOME/anaconda3/bin. Même si vous réactivez votre environnement virtuel dans la session d'écran, le shell finira par utiliser la mauvaise copie de python.

La méthode recommandée pour résoudre ce problème avec Anaconda> 4.4 consiste à supprimer la ligne qui définit le chemin et à ajouter le texte suivant à votre fichier .bashrc.

. $HOME/anaconda3/etc/profile.d/conda.sh

Cela présente l’avantage supplémentaire que vous pouvez maintenant activer et désactiver les environnements anaconda à l’aide de la commande conda. par exemple.

conda activate myenv

Pour plus d'informations, consultez https://github.com/conda/conda/blob/master/CHANGELOG.md#440-2017-12-20

0
D Dowling