Разрешить использование системного python в conda env?
Есть ли способ заставить conda использовать системную версию python (вместе со всеми системными библиотеками) в заданном env?
У меня включен conda по умолчанию в моей оболочке, который может немного раздражать, потому что если я попытаюсь запустить приложение python для системы, он получит другую версию python для ожидаемого (python по умолчанию имеет значение 2.7 на * buntu), и часто не запускается. Я хотел бы, чтобы root env conda просто перенаправлялся на установку python системы.
Ответы
Ответ 1
Вам нужно отредактировать все команды запуска оболочки пользователя, такие как ваш .bashrc файл, чтобы добавить каталог bin в anaconda к пути export PATH=~/anaconda/bin:$PATH
, в то время как в командах root root добавьте export PATH=$PATH:~/anaconda/bin
. В обоих случаях у вас будет доступ к команде conda
. Вы можете проверить, какой из python будет запущен, набрав $env python --version
. Вы также можете проверить, какие другие версии будут доступны и их порядок приоритета (если другой будет удален), используя $type -a python
. Конечно, ваши исполняемые файлы python имеют #!/usr/bin/env python
, а не какой-либо другой прямой путь к исполняемому файлу python. Для получения дополнительной информации Google BASH Shell ищет запросы, такие как http://www.cyberciti.biz/tips/an-example-how-shell-understand-which-program-to-run-part-ii.html.
Ответ 2
Просто удаление символической ссылки python
от ~/miniconda3/bin/
появляется, чтобы выполнить задание.
$ which python
/home/naught101/miniconda3/bin/python
$ rm /home/naught101/miniconda3/bin/python
$ which python
/usr/bin/python
$ source activate science
discarding /home/naught101/miniconda3/bin from PATH
prepending /home/naught101/miniconda3/envs/science/bin to PATH
(science)$ which python
/home/naught101/miniconda3/envs/science/bin/python
(science)$ source deactivate
discarding /home/naught101/miniconda3/envs/science/bin from PATH
$ which python
/usr/bin/python
Пока это, похоже, не вызвало у меня никаких проблем. К сожалению, то же самое не работает для ~/miniconda/bin/python3
, потому что conda требует его при переключении на другие envs, которые используют одну и ту же версию python. Однако в первую очередь это не вызвало столько проблем.
Если это вызывает проблемы, достаточно легко отменить, просто cd ~/miniconda/bin/; ln -s python3 python
(или какая-либо версия python, которую вы используете в вашем enda conda root). Вам может потребоваться активировать/деактивировать env, чтобы вернуть эту версию python на ваш PATH.