Разрешить использование системного 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.