Bagaimana cara saya mengaktifkan lingkungan conda di .bashrc saya?

18

Saya menggunakan Conda untuk manajemen paket dengan Python. Saya memiliki lingkungan dasar yang saya gunakan hampir sepanjang waktu, dan saya ingin itu dimuat secara default ketika saya membuka terminal. Bagaimana cara mengatur saya .bashrcuntuk memuat lingkungan?

Sejauh ini, saya mencoba source activate myenv, tetapi pemahaman saya adalah bahwa saya perlu memberikan jalur yang sebenarnya dalam .bashrcfile. Saya kemudian mencoba source ~/anaconda3/envs/myenv/bin/activate. Meskipun ini tidak menimbulkan kesalahan, itu juga tidak mengaktifkan lingkungan. Saya menjalankan Ubuntu 16.04.

Liz Sander
sumber

Jawaban:

21

Sepertinya jawaban yang diterima mungkin kedaluwarsa. Dari dokumen :

Jika shell Anda adalah varian Bash atau Bourne, aktifkan conda untuk pengguna saat ini

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

atau, untuk semua pengguna, aktifkan conda dengan

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

Opsi di atas akan secara permanen mengaktifkan perintah 'conda', tetapi mereka TIDAK menempatkan lingkungan basis (root) conda di PATH. Untuk melakukannya, jalankan

$ conda activate

di terminal Anda, atau untuk menempatkan lingkungan basis di PATH secara permanen, jalankan

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

Sebelum menggunakan conda 4.4, cara yang disarankan untuk mengaktifkan conda adalah dengan memodifikasi PATH di file ~ / .bashrc Anda. Anda harus menghapus garis yang terlihat secara manual

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

^^^ Baris di atas TIDAK LAGI dalam file ~ / .bashrc Anda! ^^^

jerpint
sumber
Metode softlink adalah RAD!
Abalter
Jika menambahkan .bashrc tidak berfungsi, cobalah menambahkannya dalam file .profile.
oya163
4

Selama instalasi Anaconda harus ada entri menambahkan file .bashrc seperti ini

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

jika tidak ada, verifikasi instal dengan menjalankan which conda, dan perbarui .bashrc dengan path hingga ke bin.

Ini menunjuk ke 'conda' yang dapat dieksekusi, dan mengatur jalur untuk menangani aktivasi conda.

Tambahkan baris ini setelah perintah ekspor:

source activate <your_environment>

dari sana Anda dapat source ~/.bashrcmemuat lingkungan ke shell saat ini.

Ogre55
sumber
1

Untuk penggunaan bash:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

Itu akan secara otomatis mengedit .bashrc.

Muat ulang:

$ source ~/.bashrc

Uji (instal Spyder):

$ conda install -c anaconda spyder

Jalankan Spyder

$ spyder
alditis
sumber
1

Memperbaiki yang benar

(berfungsi untuk versi> = 4.6)

find . -type f -name 'conda' memeriksa di mana conda binary berada dan kemudian cd ke sana atau hanya memberikan path lengkap dan jalankan

conda config --set auto_activate_base true

Untuk menonaktifkan lakukan hal yang sama tetapi dengan false. Jelas:

conda config --set auto_activate_base false

Perbaikan Cepat & Kotor # 1

Rekatkan yang berikut ini ke .bashrc Anda, ganti dengan yang jelas dan sumber .bashrc Anda ( source .bashrc). Harus bekerja untuk versi 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 <<<

Ini adalah cut dan paste dari .bashrc saya sendiri, Anda dapat menghapus komentar tetapi saya menemukan mereka berguna sebagai pembatas.

Perbaikan Cepat & Kotor # 2

Hapus semuanya dengan perintah penghapusan favorit Anda ( rm -rf ~/miniconda3), jalankan kembali skrip instal dan perhatikan prompt karena akan meminta Anda jika Anda ingin autostart.

Apa pun batu perahu Anda :)

runlevel0
sumber
0

Jika Anda ingin lingkungan conda diaktifkan secara default ketika Anda meluncurkan terminal bash baru, Anda dapat menambahkan baris berikut ke ~/.bashrcfile Anda :

export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH

Anda harus mengganti <PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>di baris di atas dengan path lengkap ke lingkungan conda Anda.

Dalam kasus Anda, Anda dapat menambahkan baris berikut ke ~/.bashrcfile Anda :

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

Pada dasarnya kami menambahkan bindirektori lingkungan conda Anda sebagai entri pertama di PATH Anda yang pada dasarnya adalah apa yang activateakan dilakukan script kenyamanan. Setelah ini, Ketika Anda membuka terminal bash baru, lingkungan conda akan "diaktifkan" / "diaktifkan" secara default.

Perhatikan bahwa Anda mungkin tidak melihat (myenv)awalan untuk bash prompt Anda seperti yang Anda lakukan jika Anda melakukannya source activate myenv. Jika Anda ingin awalan agar prompt Anda juga muncul, tambahkan baris berikut ke ~/.bashrcfile Anda :

export PS1="(myenv)"$PS1

Di mana (myenv)ada nama khusus yang dapat Anda berikan yang akan muncul sebagai awalan ke bash prompt.

Praveen Palanisamy
sumber
Bagi saya ini berfungsi, tetapi conda info --envsmasih menunjukkan rootlingkungan seperti saat ini. Apakah ada alasan saya tidak bisa hanya menambahkan source activate py34(py34 adalah nama lingkungan saya) ke ~ / .bashrc saya? Tampaknya berfungsi, tetapi apakah ada alasan mengapa ini tidak disarankan?
BStateham
Pastikan PATHvariabel menunjuk ke binfolder di bawah folder conda environment dan bukan folder base / root bin. Misalnya: ~/anaconda3/envs/myenv/bindan tidak ~/anaconda3/bin) Ya. Anda cukup menambahkan folder binaconda (mis .: .:) ~/anaconda3/binke sistem PATH dan kemudian source activate ENV_NAMEdi ~/.bashrcatau ~/.bash_profile. Itu tidak direkomendasikan karena, file konfigurasi ( ~/.bashrcatau ~/.bash_profile) itu sendiri bersumber dan tidak dieksekusi ketika terminal bash baru dibuka.
Praveen Palanisamy
0

Ini mungkin di suatu tempat di atas (tapi saya salah dulu). Penting bahwa dalam file bashrc Anda, pertama-tama Anda mengekspor path conda Anda. Jadi jalan menuju conda (atau miniconda dll) akan muncul di atas conda activate <env>garis. Formatnya seperti ini:

export <path to conda bin>

<any other conda initializations>

conda activate <env>
ashley
sumber
0

Menggunakan:

conda init bash

Itu akan secara otomatis mengedit .bashrc.

Harshit Parashar
sumber
-1

Untuk mengaktifkan lingkungan conda cukup letakkan ini di akhir file .bashrc Anda untuk membuka terminal .bashrc terbuka, buka direktori home. Jalankan / ketik nano .bashrc, pada prompt taruh yang berikut di akhir file:

conda activate my_environment_name

sekarang simpan file .bashrc ( Ctrl+ Shift+ o) tekan enter.

Alice
sumber
Meskipun saya bukan ahli konda, saya dapat mengatakan bahwa Anda ~$merujuk pada apa pun kecuali ~$(yang bukan apa-apa). ~atau $HOMEakan referensi/home/user/
j-money
ya "~" itulah yang saya maksud. jadi ketika Anda melihat ~ $ lingkungan rumah Anda hanya mencoba menjelaskan sehingga siapa pun dapat mengerti, sayang sekali Anda menurunkan tanda dolar karena ini bisa membantu berkaitan dengan pertanyaan aktual di tangan ...
Alice
Sayangnya bagi saya, saya berkomentar tetapi tidak downvote (jadi sekarang saya mendapatkan akibatnya) .. Dalam hal apa pun bagaimana orang bisa mengerti ~$sebagai jalan yang benar ketika itu bahkan bukan jalan?
j-money
ok point diambil, saya akan mencoba dan lebih "spesifik"
Alice