Python Anaconda: следует ли использовать "conda activate" или "source activate" в linux

Поэтому я привык печатать source activate <environment> при запуске среды Anaconda python. Это работает отлично. Но когда я создаю новые среды конда, я вижу сообщение на Ubuntu 16.04, чтобы запустить среду с conda activate. Кроме того, ошибки в том, как настроить мою оболочку для использования conda activate, я до сих пор не понимаю, в чем разница между source activate... и conda activate... Есть ли причина для изменения? Кто-нибудь знает разницу между этими двумя командами? Благодарю.

Ответ 1

Начиная с conda 4.4, conda activate является предпочтительным способом активации среды. Как правило, вы не найдете слишком большой разницы между conda activate и старым source activate, за исключением того, что он должен быть быстрее и работать одинаково в разных операционных системах (последнее отличие делает conda activate огромное улучшение IMO).

Из документов, относящихся к выпуску conda версии 4.4.0 (выпущен в декабре 2017 года):

conda активируется: логика и механизмы, лежащие в основе активации среды, были переработаны. С conda 4.4 активируются и активируются деблокирование конды - это предпочтительные команды для активации и деактивации сред. Вы найдете, что они намного более быстрые, чем активировать источник и отключить исходные команды из предыдущих версий conda. Команда активации conda также имеет преимущества: (1) быть универсальной во всех ОС, оболочках и платформах и (2) не иметь коллизий пути со сценариями из других пакетов, таких как скрипт virtual virtualvvs активирует скрипт.

Ответ 2

Вот одно отличие, которое я нашел. source activate может быть использована в начале скрипта bash для загрузки среды conda, тогда как conda activate выдаст мне ошибку:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

Это очень важно для меня, так как я часто отправляю задания bash в кластер, и source activate - единственный способ изменить среду conda.

Пожалуйста, поправьте меня, если кто-то может использовать conda activate в скрипте bash.

Ответ 3

Я использую Anaconda Navigator 1.8.2 с Spyder 3.2.8 на Mac OS, я думаю, похож на Linux.

Очень легко установить virtualenv с Anaconda:

Create a new virtualenv

Select python version

Install packages

Затем установите нужные пакеты