Loại bỏ môi trường Conda


223

Tôi muốn loại bỏ một môi trường nhất định được tạo bằng conda. Làm thế nào tôi có thể đạt được điều đó? Hãy nói rằng tôi có một môi trường testenv hoạt động. Tôi đã thử, bằng cách làm tài liệu sau , với:

$ conda env remove

CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again

Sau đó tôi tắt nó:

$ source deactivate

Tôi thử chạy lại lệnh để loại bỏ nó và tôi vẫn nhận được lỗi tương tự. Điều gì đang xảy ra ở đây?


2
Hãy chắc chắn rằng bạn đang chạy thiết bị đầu cuối với tư cách quản trị viên nếu không các lệnh sẽ chạy thành công mà không gây ra bất kỳ lỗi nào nhưng env sẽ không bị xóa.
सत यमयमयमव े

Câu trả lời:


308

Có lẽ bạn đã không hủy kích hoạt hoàn toàn môi trường Conda - hãy nhớ rằng, lệnh bạn cần sử dụng với Conda là conda deactivate(đối với các phiên bản cũ hơn, hãy sử dụng source deactivate). Vì vậy, có thể là khôn ngoan để bắt đầu một lớp vỏ mới và kích hoạt môi trường trong đó trước khi bạn thử. Sau đó tắt nó.

Bạn có thể sử dụng lệnh

conda env remove -n ENV_NAME

để loại bỏ môi trường với tên đó. ( --nametương đương với -n)

Lưu ý rằng bạn cũng có thể đặt môi trường ở bất cứ đâu bạn muốn sử dụng -p /path/to/envthay vì -n ENV_NAMEkhi cả tạo và xóa môi trường, nếu bạn chọn. Họ không phải sống trong cài đặt conda của bạn.

CẬP NHẬT, ngày 30 tháng 1 năm 2019 : Từ Conda 4.6 trở đi, conda activatelệnh trở thành cách chính thức mới để kích hoạt một môi trường trên tất cả các nền tảng. Những thay đổi được mô tả trong bài đăng trên blog Anaconda này


Bạn nói đúng, lỗi của tôi khi viết bài. Tôi có nghĩa source deactivate. Cảm ơn bạn
Renato Damas

4
Trên thực tế bạn có thể sử dụng conda deactivatelà tốt và nó hoạt động tương tự. Ít nhất là trong phiên bản 4.4.11
Renato Damas

Cảm ơn. Nhưng không chỉ deactivateriêng nó, phải không?
Holdenweb

Có, source deactivatehoặcconda deactivate
Renato Damas

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
dùng924

68

Sau khi đảm bảo môi trường của bạn không hoạt động, hãy gõ:

$ conda env remove --name ENVIRONMENT

3
Đây là thông tin tôi cần. Sẽ là tốt đẹp nếu conda env --helpđã cho nó.
R. Schreurs

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENVIRONMENT
dùng924

1
Tôi đã gửi một lỗi về thất bại để cập nhật văn bản trợ giúp và nó được đánh dấu là một vấn đề dễ dàng cho người mới bắt đầu, vì vậy có hy vọng sửa chữa.
Holdenweb

28

Cách tài liệu chính thức làm việc cho tôi:

conda remove --name myenv --all

Hoặc chỉ conda env remove --name myenv.

Để xác minh rằng môi trường đã bị xóa, trong cửa sổ thiết bị đầu cuối của bạn hoặc Dấu nhắc Anaconda, hãy chạy:

conda info --envs

Danh sách môi trường hiển thị không nên hiển thị môi trường bị loại bỏ.

Thư mục môi trường anaconda3 của bạn có thể liệt kê một thư mục trống của môi trường bị xóa trong thư mục cài đặt anaconda3 của bạn, như:

/opt/anaconda3/envs

19

Tổng cộng có 3 cách để đạt được điều này. Giả sử bạn có một môi trường có tên myenv,

  1. conda env remove --name myenv, -nlà lối tắt cho --name.

  2. conda remove --name myenv --all.

  3. Xóa thư mục env trực tiếp. (Không được khuyến khích)

    # list environments and their locations
    conda env list
    # or
    # conda info --envs
    
    # delete the folder listed
    rm -rf /Users/username/.local/share/conda/envs/myenv

Nếu bạn muốn xóa môi trường mà không có lời nhắc để cho phép bạn kiểm tra lại. Sử dụng -y, phím tắt cho --yes. (Để sử dụng toàn cầu, hãy kiểm tra dấu nhắc im lặng trong conda )

conda env remove -n myenv -y
conda remove -n myenv --all -y

Người giới thiệu

  • conda env --help
  • conda remove --help

1
Và tại sao xóa thư mục env trực tiếp không được khuyến khích? Cái gì có thể đi sai?
NoName


13

Trước tiên, bạn phải hủy kích hoạt môi trường của bạn trước khi loại bỏ nó. Bạn có thể loại bỏ môi trường conda bằng cách sử dụng lệnh sau

Giả sử tên môi trường của bạn là "sample_env", bạn có thể xóa môi trường này bằng cách sử dụng

source deactivate    
conda remove -n sample_env --all

'--all' sẽ được sử dụng để xóa tất cả các phụ thuộc


13

Các môi trường được tạo bằng cờ --prefixhoặc -pphải được xóa bằng -pcờ ( không -n ).

Ví dụ : conda remove -p </filepath/myenvironment> --all, trong đó </filepath/myenvironment>được thay thế bằng một đường dẫn hoàn chỉnh hoặc tương đối đến môi trường.


1
Tên môi trường của tôi bao gồm một không gian, như env của tôi . Phương pháp này, conda env remove -p path/to/my\ envlàm việc trong khi conda env remove -n my\ envconda env remove -n "my env"không.
Ben

11

Tên môi trường của tôi là: test

conda remove -n test --all

8

Sử dụng source deactivateđể hủy kích hoạt môi trường trước khi xóa nó, thay thế ENV_NAME bằng môi trường bạn muốn xóa:

source deactivate
conda env remove -n ENV_NAME

7
Một lời giải thích, những gì một mã làm và cách giải quyết vấn đề trong câu hỏi, hiếm khi không cải thiện một câu trả lời.
MBT

EnvironmentLocationNotFound: Not a conda environment: /home/user/.conda/envs/ENV_NAME
dùng924

7

Đầu tiên hủy kích hoạt môi trường và trở lại môi trường cơ sở. Từ cơ sở, bạn sẽ có thể chạy lệnh conda env remove -n <envname>. Điều này sẽ cung cấp cho bạn thông điệp

Remove all packages in environment C:\Users\<username>\AppData\Local\Continuum\anaconda3\envs\{envname}:


5

nếu bạn ở trong căn cứ :

(base) HP-Compaq-Elite-8300-CMT:~$ 

xóa env_name bằng cách:

conda env remove -n env_name

nếu bạn đã ở trong môi trường env_name :

(env_name) HP-Compaq-Elite-8300-CMT:~$ 

hủy kích hoạt sau đó xóa bằng cách:

conda deactivate env_name

conda env remove -n env_name

4

Điều này làm việc cho tôi:

conda env remove --name tensorflow

Làm việc cho tôi quá. conda env remove --name <name of your environment> Sau đó, bạn có thể xóa thư mục môi trường khỏi vị trí cài đặt Anaconda hoặc miniconda Anaconda\envs\<name of your environment>hoặcMiniconda\envs\<name of your environment>
Giriraj Pawar

1

Để loại bỏ môi trường conda hoàn chỉnh:

loại bỏ conda - tên của bạn_CONDA_ENV_NAME --all


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.