Як активувати середовище conda в моєму .bashrc?


18

Я використовую Conda для управління пакетами в Python. У мене є базове середовище, яким я користуюся майже весь час, і я хочу, щоб воно було завантажено за замовчуванням, коли я відкриваю термінал. Як налаштувати .bashrcзавантаження середовища?

Поки я намагався source activate myenv, але я розумію, що мені потрібно вказати фактичний шлях до .bashrcфайлу. Потім я спробував source ~/anaconda3/envs/myenv/bin/activate. Хоча це не призводить до помилок, воно також не активує оточення. Я запускаю Ubuntu 16.04.

Відповіді:


21

Схоже, прийняті відповіді можуть бути застарілими. З документів :

Якщо ваша оболонка - варіант Bash або Bourne, увімкніть conda для поточного користувача

$ echo ". /home/<user>/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc

або, для всіх користувачів, увімкніть conda з

$ sudo ln -s /home/<user>/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh

Наведені вище параметри будуть постійно вмикати команду 'conda', але вони НЕ ставлять базового (кореневого) середовища conda на PATH. Для цього запустіть

$ conda activate

у своєму терміналі або постійно розміщувати базове середовище на PATH

$ echo "conda activate" >> ~/.bashrc

Раніше до conda 4.4, рекомендованим способом активації conda було модифікація PATH у вашому файлі ~ / .bashrc. Вам слід вручну видалити вигляд лінії

export PATH="/home/<user>/miniconda3/bin:$PATH"

^^^ У наведеному вище рядку НЕ БУДЕ ДІЛЬШЕ у вашому файлі ~ / .bashrc! ^^^


Метод програмного зв’язку - RAD!
abalter

Якщо додавання в .bashrc не працює, спробуйте додати його у файл .profile.
oya163

4

Під час встановлення Anaconda має бути доданий запис .bashrc-файл, подібний до цього

export PATH="/home/<user>/anaconda3/bin:$PATH"

якщо його немає, перевірте встановлення, запустивши which conda, та оновіть .bashrc шляхом до бін.

Це вказує на виконуваний "conda" і встановлює шлях для активації conda.

Додайте цей рядок після команди експорту:

source activate <your_environment>

звідти ви можете source ~/.bashrcзавантажити середовище до поточної оболонки.


2

Правильне виправлення

(працює для версій> = 4.6)

find . -type f -name 'conda' перевірте, де знаходиться бінарний конда, а потім - або просто дайте повний шлях та запустіть

conda config --set auto_activate_base true

Для дезактивації виконайте те саме, але з помилковим. Очевидно:

conda config --set auto_activate_base false

Швидке та брудне виправлення №1

Вставте наступне у свій .bashrc, замініть очевидним та вкажіть свій .bashrc ( source .bashrc). Має працювати для версії Miniconda3> = 4.6

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/<YOUR_USER>/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/<YOUR_USER>/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/<YOUR_USER>/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

Це вирізання та вставка з мого власного .bashrc, ви можете видалити коментарі, але я вважаю їх зручними як роздільники.

Швидке та брудне виправлення №2

Видаліть все за допомогою улюбленої команди видалення ( rm -rf ~/miniconda3), запустіть сценарій встановлення ще раз і зверніть увагу на підказку, оскільки це буде нудити вас, якщо ви хочете його автозапустити.

Що б не скелі на вашому човні :)


1

Для використання bash:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

Це автоматично відредагує вашу .bashrc.

Перезавантажити:

$ source ~/.bashrc

Тест (встановити Spyder):

$ conda install -c anaconda spyder

Запустити Spyder

$ spyder

0

Якщо ви хочете, щоб середовище conda було активовано за замовчуванням під час запуску нового терміналу bash, ви можете додати наступний рядок у свій ~/.bashrcфайл:

export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH

Ви повинні замінити <PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>у вищенаведеному рядку повний шлях до вашого конденського середовища.

У вашому випадку ви можете додати такий ~/.bashrcфайл у свій файл:

export PATH=~/anaconda3/envs/myenv/bin:$PATH

В основному ми додаємо binкаталог вашого конденсаційного середовища як перший запис у вашій PATH, що по суті є тим, що activateбуде робити сценарій зручності. Після цього, коли ви відкриєте новий термінал bash, середовище conda буде "активовано" / "включено" за замовчуванням.

Зауважте, що ви, можливо, не побачите (myenv)префікс до вашого bash-підказки, як ви, як це зробили source activate myenv. Якщо ви хочете, щоб префікс до вашого запиту відображався також, додайте у ~/.bashrcфайл наступний рядок :

export PS1="(myenv)"$PS1

Де (myenv)ви можете вказати будь-яке спеціальне ім’я, яке відображатиметься як префікс до запиту bash.


Для мене це працює, але conda info --envsвсе ще показує rootсередовище як поточну. Чи є причина, що я не можу просто додати source activate py34(py34 - це моє середовище) до мого ~ / .bashrc? Здається, це працює, але чи є чомусь це не рекомендується?
BStateham

Переконайтесь, що PATHзмінна вказує на binпапку в папці середовища conda, а не на папку базового / кореневого біна. Наприклад: ~/anaconda3/envs/myenv/binі ні ~/anaconda3/bin) Так. ви можете просто додати папку для контейнерів анаконда (наприклад:) ~/anaconda3/binу систему PATH, а потім source activate ENV_NAMEу свій ~/.bashrcабо ~/.bash_profile. Це не рекомендується, оскільки файли конфігурацій ( ~/.bashrcабо ~/.bash_profile) самі отримуються і не виконуються, коли відкривається новий термінал bash.
Правен Паланісамі

0

Це може бути десь вище (але я помилився спочатку неправильно). Важливо, щоб у вашому файлі bashrc спочатку було експортовано шлях вашої конди. Тож шлях до конди (або мініконди тощо) вийде над conda activate <env>лінією. Формат такий:

export <path to conda bin>

<any other conda initializations>

conda activate <env>


-1

Щоб активувати середовище conda, просто поставте це в кінці файлу .bashrc, щоб відкрити .bashrc відкритий термінал, перейдіть до домашнього каталогу. Виконати / набрати nano .bashrc, у підказці в кінці файлу поставте наступне:

conda activate my_environment_name

тепер збережіть .bashrc файл ( Ctrl+ Shift+ o) і натисніть Enter.


Хоча я не фахівець з конди, я можу сказати, що це ~$стосується нічого ~$( але це нічого). ~або $HOMEбуде посилання/home/user/
j-money

так "~" - це те, що я маю на увазі. тож коли ви бачите ~ $ your у домашньому середовищі просто намагаючись пояснити, щоб хтось міг зрозуміти, то шкода, що ви прихилилися до знаку долара, оскільки це могло б бути корисним стосовно власне питання ...
Аліса

На жаль для мене, я прокоментував, але не спростував (тому зараз я отримую наслідки) .. У будь-якому випадку, як хто може зрозуміти ~$правильний шлях, коли це навіть не шлях?
j-гроші

Ок, прийнято, я спробую бути більш "конкретним"
Аліса
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.