Làm cách nào để kích hoạt môi trường conda trong .bashrc của tôi?


18

Tôi sử dụng Conda để quản lý gói trong Python. Tôi có một môi trường cơ bản mà tôi sử dụng gần như mọi lúc và tôi muốn nó được tải theo mặc định khi tôi mở một thiết bị đầu cuối. Làm cách nào để thiết lập tải của tôi .bashrccho môi trường?

Cho đến nay, tôi đã cố gắng source activate myenv, nhưng sự hiểu biết của tôi là tôi cần cung cấp một đường dẫn thực tế trong .bashrctệp. Sau đó tôi đã thử source ~/anaconda3/envs/myenv/bin/activate. Mặc dù điều này không gây ra lỗi, nhưng nó cũng không kích hoạt môi trường. Tôi đang chạy Ubuntu 16.04.

Câu trả lời:


21

Có vẻ như các câu trả lời được chấp nhận có thể đã lỗi thời. Từ các tài liệu :

Nếu hệ vỏ của bạn là Bash hoặc biến thể Bourne, hãy bật conda cho người dùng hiện tại với

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

hoặc, cho tất cả người dùng, kích hoạt conda với

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

Các tùy chọn ở trên sẽ kích hoạt vĩnh viễn lệnh 'conda', nhưng chúng KHÔNG đặt môi trường cơ sở (root) của conda trên PATH. Để làm như vậy, chạy

$ conda activate

trong thiết bị đầu cuối của bạn hoặc để đặt môi trường cơ sở trên PATH vĩnh viễn, hãy chạy

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

Trước đây với conda 4.4, cách được khuyến nghị để kích hoạt conda là sửa đổi PATH trong tệp ~ / .bashrc của bạn. Bạn nên xóa thủ công dòng giống như

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

^ ^ Dòng trên không nên dài hơn trong tệp ~ / .bashrc của bạn! ^ ^


Phương pháp liên kết mềm là RAD!
abalter

Nếu việc thêm vào .bashrc không hoạt động, thì hãy thử thêm nó vào tệp .profile.
oya163

4

Trong quá trình cài đặt Anaconda, cần có một mục được thêm vào tệp .bashrc như thế này

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

nếu nó không ở đó, hãy xác minh cài đặt bằng cách chạy which condavà cập nhật .bashrc với đường dẫn lên bin.

Điều này chỉ ra khả năng thực thi của 'conda' và thiết lập đường dẫn để xử lý kích hoạt conda.

Thêm dòng này sau lệnh xuất:

source activate <your_environment>

từ đó bạn có thể source ~/.bashrctải môi trường vào shell hiện tại.


1

Để sử dụng bash:

$ cd YOUR_PATH_ANACONDA/bin
$ ./conda init bash

Điều đó sẽ tự động chỉnh sửa của bạn .bashrc.

Tải lại:

$ source ~/.bashrc

Kiểm tra (cài đặt Spyder):

$ conda install -c anaconda spyder

Chạy Spyder

$ spyder

1

Sửa lỗi chính xác

(hoạt động cho các phiên bản> = 4.6)

find . -type f -name 'conda' kiểm tra xem nhị phân conda ở đâu và sau đó cd vào nó hoặc chỉ cho đường dẫn đầy đủ và chạy

conda config --set auto_activate_base true

Để hủy kích hoạt chỉ cần làm tương tự nhưng với sai. Chắc chắn:

conda config --set auto_activate_base false

Khắc phục nhanh & bẩn # 1

Dán đoạn mã sau vào .bashrc của bạn, thay thế bằng tệp hiển thị và nguồn .bashrc ( source .bashrc) của bạn . Nên hoạt động cho phiên bản 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 <<<

Đây là một phần cắt và dán từ .bashrc của riêng tôi, bạn có thể xóa các nhận xét nhưng tôi thấy chúng tiện dụng như các dấu phân cách.

Khắc phục nhanh & bẩn # 2

Xóa toàn bộ bằng lệnh loại bỏ yêu thích của bạn ( rm -rf ~/miniconda3), chạy lại tập lệnh cài đặt và chú ý đến lời nhắc vì nó sẽ giúp bạn nếu bạn muốn tự động khởi động nó.

Bất cứ điều gì đá thuyền của bạn :)


0

Nếu bạn muốn một môi trường conda được kích hoạt theo mặc định khi bạn khởi chạy một thiết bị đầu cuối bash mới, bạn có thể thêm dòng sau vào ~/.bashrctệp của mình :

export PATH=<PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>:$PATH

Bạn nên thay thế <PATH_TO_YOUR_CONDA_ENVIRONMENT/bin>trong dòng trên với đường dẫn đầy đủ đến môi trường conda của bạn.

Trong trường hợp của bạn, bạn có thể thêm dòng sau vào ~/.bashrctệp của mình :

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

Về cơ bản, chúng tôi đang thêm binthư mục của môi trường conda của bạn dưới dạng mục nhập đầu tiên trong PATH của bạn, về cơ bản là những gì activatetập lệnh tiện lợi sẽ làm. Sau này, khi bạn mở một thiết bị đầu cuối bash mới, môi trường conda sẽ được "kích hoạt" / "kích hoạt" theo mặc định.

Lưu ý rằng bạn có thể không thấy (myenv)tiền tố cho dấu nhắc bash của mình như bạn đã làm nếu bạn đã làm source activate myenv. Nếu bạn muốn tiền tố cũng xuất hiện, hãy thêm dòng sau vào ~/.bashrctệp của bạn :

export PS1="(myenv)"$PS1

Trường hợp (myenv)bất kỳ tên tùy chỉnh nào bạn có thể cung cấp sẽ hiển thị dưới dạng tiền tố của dấu nhắc bash.


Đối với tôi điều này hoạt động, nhưng conda info --envsvẫn hiển thị rootmôi trường như hiện tại. Có bất kỳ lý do nào tôi không thể thêm source activate py34(py34 là tên môi trường của tôi) vào ~ / .bashrc không? Nó dường như hoạt động, nhưng có một số lý do điều này không được khuyến khích?
BStateham

Đảm bảo rằng PATHbiến đang trỏ đến binthư mục trong thư mục của môi trường conda chứ không phải thư mục bin cơ sở / gốc. Ví dụ: ~/anaconda3/envs/myenv/binvà không ~/anaconda3/bin) Có. bạn có thể chỉ cần thêm thư mục bin anaconda (ví dụ ~/anaconda3/bin:) vào hệ thống PATH và sau đó source activate ENV_NAMEtrong ~/.bashrchoặc ~/.bash_profile. Không khuyến khích vì, các tệp cấu hình ( ~/.bashrchoặc ~/.bash_profile) tự có nguồn gốc và không được thực thi khi thiết bị đầu cuối bash mới được mở.
Praveen Palanisamy

0

Điều này có thể ở đâu đó phía trên (nhưng trước tiên tôi đã hiểu sai). Điều quan trọng là trong tệp bashrc của bạn, trước tiên bạn xuất đường dẫn conda của bạn. Vì vậy, đường dẫn đến conda (hoặc miniconda, v.v.) sẽ đến phía trên conda activate <env>dòng. Các định dạng là như vậy:

export <path to conda bin>

<any other conda initializations>

conda activate <env>

0

Sử dụng:

conda init bash

Điều đó sẽ tự động chỉnh sửa của bạn .bashrc.


-1

Để kích hoạt môi trường conda, chỉ cần đặt phần này vào cuối tệp .bashrc của bạn để mở terminal mở .bashrc , đi đến thư mục chính. Chạy / gõ nano .bashrc, tại dấu nhắc đặt phần sau vào cuối tệp:

conda activate my_environment_name

bây giờ lưu tệp .bashrc ( Ctrl+ Shift+ o) nhấn enter.


Mặc dù tôi không phải là chuyên gia về conda, tôi có thể nói với bạn rằng không ~$đề cập gì ngoài ~$(đó không phải là bất cứ điều gì). ~hoặc $HOMEsẽ tham khảo/home/user/
j-money

có "~" là những gì tôi đang đề cập đến. vì vậy khi bạn thấy ~ $ của bạn trong môi trường gia đình chỉ cố gắng giải thích để mọi người có thể hiểu, thật đáng tiếc bạn đã đánh giá thấp ký hiệu đô la vì điều này có thể hữu ích liên quan đến câu hỏi thực tế trong tay ...
Alice

Thật không may cho tôi, tôi đã nhận xét nhưng không downvote (vì vậy bây giờ tôi nhận được hậu quả) .. Trong mọi trường hợp, làm thế nào bất cứ ai có thể hiểu ~$là đường dẫn chính xác khi nó thậm chí không phải là một con đường?
j-money

ok điểm, tôi sẽ cố gắng và "cụ thể" hơn
Alice
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.