Jak aktywować środowisko Conda w moim .bashrc?

18

Używam Conda do zarządzania pakietami w Pythonie. Mam podstawowe środowisko, którego używam prawie cały czas i chcę, aby było ładowane domyślnie po otwarciu terminala. Jak skonfigurować .bashrcładowanie środowiska?

Do tej pory próbowałem source activate myenv, ale rozumiem, że muszę podać rzeczywistą ścieżkę do .bashrcpliku. Potem spróbowałem source ~/anaconda3/envs/myenv/bin/activate. Chociaż nie powoduje to błędu, nie aktywuje również środowiska. Używam Ubuntu 16.04.

Liz Sander
źródło

Odpowiedzi:

21

Wygląda na to, że zaakceptowane odpowiedzi mogą być nieaktualne. Z dokumentów :

Jeśli twoją powłoką jest Bash lub wariant Bourne'a, włącz conda dla bieżącego użytkownika za pomocą

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

lub, dla wszystkich użytkowników, włącz conda za pomocą

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

Powyższe opcje na stałe włączą polecenie „conda”, ale NIE kładą podstawowego (głównego) środowiska conda na PATH. Aby to zrobić, uruchom

$ conda activate

w terminalu lub aby na stałe ustawić podstawowe środowisko na PATH, uruchom

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

Poprzednio do conda 4.4 zalecanym sposobem aktywacji conda była modyfikacja PATH w pliku ~ / .bashrc. Powinieneś ręcznie usunąć linię, która wygląda

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

^^^ Powyższa linia NIE powinna już znajdować się w twoim pliku ~ / .bashrc! ^^^

jerpint
źródło
Metodą softlink jest RAD!
abalter
Jeśli dodawanie pliku .bashrc nie działa, spróbuj dodać go w pliku .profile.
oya163
4

Podczas instalacji Anacondy powinien być dodany wpis w pliku .bashrc w ten sposób

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

jeśli go nie ma, sprawdź instalację, uruchamiając which condai zaktualizuj plik .bashrc, podając ścieżkę do bin.

Wskazuje to plik wykonywalny „conda” i ustawia ścieżkę do obsługi aktywacji conda.

Dodaj ten wiersz po poleceniu eksportu:

source activate <your_environment>

stamtąd możesz source ~/.bashrczaładować środowisko do bieżącej powłoki.

Ogre55
źródło
2

Prawidłowa poprawka

(działa dla wersji> = 4.6)

find . -type f -name 'conda' sprawdź, gdzie znajduje się plik binarny conda, i umieść na nim cd lub po prostu podaj pełną ścieżkę i uruchom

conda config --set auto_activate_base true

Aby dezaktywować, zrób to samo, ale z wartością false. Oczywiście:

conda config --set auto_activate_base false

Szybka i brudna poprawka nr 1

Wklej następujące elementy do .bashrc, zamień na oczywiste i źródłowe .bashrc ( source .bashrc). Powinien działać dla wersji 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 <<<

To jest wycinek i wklej z mojego własnego .bashrc, możesz usunąć komentarze, ale uważam je za przydatne jako ograniczniki.

Szybka i brudna naprawa nr 2

Usuń całość za pomocą ulubionego polecenia usuwania ( rm -rf ~/miniconda3), uruchom ponownie skrypt instalacyjny i zwróć uwagę na monit, ponieważ będzie on dostępny, jeśli chcesz go automatycznie uruchomić.

Cokolwiek kołysze twoją łódź :)

runlevel0
źródło
1

Do bash użyj:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

To automatycznie edytuje twoje .bashrc.

Przeładować:

$ source ~/.bashrc

Test (zainstaluj Spyder):

$ conda install -c anaconda spyder

Uruchom Spyder

$ spyder
zapalenie jelita grubego
źródło
0

Jeśli chcesz, aby środowisko Conda było domyślnie aktywowane podczas uruchamiania nowego terminalu bash, możesz dodać następujący wiersz do swojego ~/.bashrcpliku:

export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH

W <PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>powyższej linii powinieneś zamienić pełną ścieżkę do swojego środowiska conda.

W twoim przypadku możesz dodać następujący wiersz do swojego ~/.bashrcpliku:

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

Zasadniczo dodajemy binkatalog twojego środowiska conda jako pierwszy wpis w PATH, który jest zasadniczo tym, co activatezrobi skrypt wygody. Po tym, gdy otworzysz nowy terminal bash, środowisko conda będzie domyślnie „aktywowane” / „włączone”.

Zauważ, że możesz nie zobaczyć (myenv)prefiksu w swoim bashu, tak jak byś to zrobił source activate myenv. Jeśli chcesz, aby pojawił się również prefiks monitu, dodaj do ~/.bashrcpliku następujący wiersz :

export PS1="(myenv)"$PS1

Gdzie (myenv)można podać dowolną niestandardową nazwę, która pojawi się jako przedrostek monitu bash.

Praveen Palanisamy
źródło
Dla mnie to działa, ale conda info --envsnadal pokazuje rootśrodowisko jako aktualne. Czy jest jakiś powód, dla którego nie mogę po prostu dodać source activate py34(py34 to nazwa mojego środowiska) do mojego ~ / .bashrc? Wydaje się, że działa, ale czy jest jakiś powód, dla którego nie było to zalecane?
BStateham
Upewnij się, że PATHzmienna wskazuje binfolder w folderze środowiska conda, a nie folder base / root bin. Na przykład: ~/anaconda3/envs/myenv/bini nie ~/anaconda3/bin) Tak. możesz po prostu dodać folder bin anakondy (np .:) ~/anaconda3/bindo ścieżki systemowej, a następnie source activate ENV_NAMEdo swojego ~/.bashrclub ~/.bash_profile. Nie było to zalecane, ponieważ pliki konfiguracyjne ( ~/.bashrclub ~/.bash_profile) same są pozyskiwane i nie są wykonywane po otwarciu nowego terminala bash.
Praveen Palanisamy
0

To może być gdzieś powyżej (ale najpierw pomyliłem się). Ważne jest, aby w pliku bashrc najpierw wyeksportować ścieżkę conda. Tak więc ścieżka do conda (lub miniconda itp.) Znajdzie się nad conda activate <env>linią. Format jest taki:

export <path to conda bin>

<any other conda initializations>

conda activate <env>
Ashley
źródło
0

Posługiwać się:

conda init bash

To automatycznie edytuje twoje .bashrc.

Harshit Parashar
źródło
-1

Aby aktywować środowisko conda, po prostu umieść to na końcu pliku .bashrc , aby otworzyć otwarty terminal .bashrc , przejdź do katalogu domowego. Uruchom / wpisz nano .bashrc, w wierszu polecenia umieść na końcu pliku:

conda activate my_environment_name

teraz zapisz plik .bashrc ( Ctrl+ Shift+ o) naciśnij enter.

Alice
źródło
Chociaż nie jestem ekspertem od conda, mogę powiedzieć, że ~$odnosi się tylko do ~$(co nie jest niczym). ~lub $HOMEodwoła się/home/user/
j-money
tak „~” to to, co mam na myśli. więc kiedy widzisz ~ $ w swoim domu, próbując wyjaśnić, aby każdy mógł zrozumieć, szkoda, że ​​zlekceważyłeś znak dolara, ponieważ mogłoby to być pomocne w odniesieniu do aktualnego pytania ...
Alice
Niestety dla mnie skomentowałem, ale nie głosowałem (więc teraz dostaję następstwo). W każdym razie, jak ktoś może zrozumieć ~$poprawną ścieżkę, skoro nie jest to nawet ścieżka?
j-money
OK, wziąłem uwagę, postaram się być bardziej „konkretny”
Alice