Saya baru saja menginstal anaconda2 di Mac saya. Secara default Conda dikonfigurasi untuk mengaktifkan lingkungan basis ketika saya membuka sesi terminal baru.
Saya ingin akses ke perintah Conda (yaitu saya ingin path ke Conda ditambahkan ke $ PATH saya yang dilakukan Conda ketika diinisialisasi jadi tidak masalah).
Tapi saya biasanya tidak memprogram dalam python, dan saya tidak ingin Conda mengaktifkan lingkungan secara default.
Saat pertama kali mengeksekusi conda init
dari prompt, Conda menambahkan yang berikut ini ke .bash_profile
:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<
Jika saya mengomentari seluruh blok, maka saya tidak dapat mengaktifkan lingkungan Conda.
Saya mencoba mengomentari seluruh blok kecuali untuk
export PATH="/Users/geoff/anaconda2/bin:$PATH"
Tetapi kemudian ketika saya memulai sesi baru dan mencoba untuk mengaktifkan suatu lingkungan, saya mendapat pesan kesalahan ini:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Pertanyaan ini (dan yang lain menyukainya) sangat membantu, tetapi pada akhirnya tidak menjawab pertanyaan saya dan lebih cocok untuk pengguna linux.
Untuk klarifikasi, saya tidak meminta untuk menghapus (base)
dari saya, $PS1
saya meminta Conda untuk tidak mengaktifkan basis ketika saya membuka sesi terminal.
source activate
? alias "metode oldschool"Jawaban:
Saya memiliki conda 4.6 dengan blok kode serupa yang ditambahkan oleh conda. Dalam kasus saya, ada pengaturan konfigurasi conda untuk menonaktifkan aktivasi basis otomatis:
Pertama kali Anda menjalankannya, itu akan membuat
./condarc
direktori home Anda dengan pengaturan itu untuk menimpa default.Ini tidak akan mengacaukan Anda
.bash_profile
tetapi ini adalah solusi yang lebih bersih tanpa mengedit manual bagian yang dapat dikelola.sumber
conda config --describe
. Mencari basis kode untuk "auto_activate_base" tampaknya menunjukkan Conda v4.6.0 adalah pengantar.conda config --set auto_activate_base false
Terima kasih telah menginstal Anaconda3!Jawabannya sedikit tergantung pada versi
conda
yang telah Anda instal. Untuk versi conda> = 4.4, itu harus cukup untukdeactivate
lingkungan conda setelah inisialisasi, jadi tambahkantepat di bawahnya
sumber
__conda_setup
fungsi, sehingga Anda bisa mendapatkan semuanya menjadi 6 baris. Tapi saya tidak berpikir ada banyak yang harusJadi pada akhirnya saya menemukan bahwa jika saya berkomentar blok inisialisasi Conda seperti:
Ini bekerja persis seperti yang saya inginkan. Yaitu, Conda tersedia untuk mengaktifkan lingkungan jika saya mau, tetapi tidak mengaktifkan secara default.
sumber
rc
file? Saya akan tertarik pada hal ini juga, bisa memperlakukan konda seperti env lain, daripada mengacaukan segalanyaconda config --set auto_activate_base false
, bisakah Anda menguraikannya?Ada 3 cara untuk mencapai ini setelah
conda
4,6. (Metode terakhir memiliki prioritas tertinggi.)Gunakan sub-perintah
conda config
untuk mengubah pengaturan.Bahkan,
conda config
sub-perintah sebelumnya adalah mengubah file konfigurasi.condarc
. Kami dapat memodifikasi.condarc
secara langsung. Tambahkan konten berikut ke.condarc
dalam direktori home Anda,Setel variabel lingkungan
CONDA_AUTO_ACTIVATE_BASE
di file init shell. (.bashrc
untuk bash,.zshrc
untuk zsh)Pengaturan lingkungan didahulukan dari pengaturan terkait dalam
.condarc
file.Referensi
conda config --describe
sumber
export CONDA_AUTO_ACTIVATE_BASE=false; eval "$(conda shell.bash hook)"
export CONDA_AUTO_ACTIVATE_BASE=false
.zshrc agar opsi 3 berfungsi.Untuk menonaktifkan aktivasi otomatis lingkungan base conda di terminal:
Untuk mengaktifkan lingkungan basis conda:
sumber
Satu hal yang belum ditunjukkan, adalah ada sedikit perbedaan antara tidak memiliki lingkungan aktif dan dan mengaktifkan lingkungan basis, jika Anda hanya ingin menjalankan aplikasi dari direktori skrip Conda (Python) (seperti yang diinginkan @DryLabRebel ).
Anda dapat menginstal dan menghapus instalan melalui conda dan conda menunjukkan lingkungan dasar sebagai aktif - yang intinya adalah:
sumber
Jika Anda ingin membuat bashrc Anda sederhana, Anda dapat menghapus semua
conda init
kekacauan yang dihasilkan, dan hanya menyimpan satu baris:Lihat Perubahan yang disarankan untuk mengaktifkan konda di shell Anda .
Ini akan membuat perintah conda tersedia tanpa mengaktifkan lingkungan basis.
Jika Anda ingin menggunakan bashrc Anda di sistem lain di mana conda tidak diinstal di jalur yang sama, Anda dapat menyimpan baris
if
/fi
juga untuk menghindari pesan kesalahan, yaitu:sumber
Ini mungkin bug dari anaconda baru-baru ini. Apa yang berhasil untuk saya:
step1:,
vim /anaconda/bin/activate
ini menunjukkan:step2: beri komentar pada baris terakhir:
# conda activate "$@"
sumber
Saya menghadapi masalah yang sama. Awalnya saya menghapus .bash_profile tapi ini bukan cara yang benar. Setelah menginstal anaconda itu menunjukkan instruksi dengan jelas untuk masalah ini. Silakan periksa gambar untuk solusi yang disediakan oleh Anaconda
sumber