экран внутри среды conda не работает - PullRequest
0 голосов
/ 29 мая 2018

Если я нахожусь в среде conda, в которой, например, установлен tenorflow, и если я перехожу на экран, а затем python -c "import tensorflow";, он говорит, что модуль не найден.Однако это работает хорошо без экрана.

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

Эта проблема возникает из-за того, что в вашем файле $ HOME / .bashrc есть строка, подобная следующей:

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

При запуске экрана он снова запустит ваш скрипт .bashrc и приведет к добавлению пути.с другой версией $ HOME / anaconda3 / bin.Даже если вы снова активируете виртуальную среду в сеансе экрана, оболочка в конечном итоге будет использовать неправильную копию python.

Рекомендуемый способ исправить это с помощью Anaconda> 4.4 - удалить строку, которая задает путь, идобавьте следующее в ваш файл .bashrc

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

Это дает дополнительное преимущество, заключающееся в том, что теперь вы можете активировать и деактивировать среды anaconda с помощью команды conda.например,

conda activate myenv

Для получения дополнительной информации проверьте https://github.com/conda/conda/blob/master/CHANGELOG.md#440-2017-12-20

0 голосов
/ 29 ноября 2018

Все, что вам нужно сделать, это деактивировать среду перед входом в экран

source deactivate

Затем войти в экран

screen -R my_screen 

Затем активировать среду

source activate myenv
0 голосов
/ 30 мая 2018

У меня та же проблема: я активировал одну из своих сред conda, скажем, my_env , и я могу использовать tenorflow в my_env .Затем я иду на экран.Здесь я больше не могу импортировать тензор потока.Это странно, потому что на экране я все еще вижу my_env , активированный в «списке conda env» или тензорном потоке, указанном в «списке conda».

Одним из обходных путей для меня было отключить эту среду перед выходом на экран.После входа в экран я активирую my_env .Затем я смог использовать тензорный поток, включенный в этот my_env .

...