Làm thế nào tôi có thể đổi tên một môi trường conda?


Câu trả lời:


454

Bạn không thể.

Một cách giải quyết khác là tạo môi trường nhân bản, rồi xóa môi trường gốc:

(hãy nhớ về việc hủy kích hoạt môi trường hiện tại với deactivatetrên Windows và source deactivatetrên macOS / Linux)

conda create --name new_name --clone old_name
conda remove --name old_name --all # or its alias: `conda env remove --name old_name`

Có một số nhược điểm của phương pháp này:

  1. nó tải lại các gói - bạn có thể sử dụng --offlinecờ để vô hiệu hóa nó,
  2. tốn thời gian để sao chép các tập tin của môi trường,
  3. sử dụng đĩa đôi tạm thời.

Có một vấn đề mở yêu cầu tính năng này.


88
booooo tại sao người ta không thể đổi tên một ena ena?
Charlie Parker

6
vì vậy để lại một số công việc cho những người ngã ba conda và do đó làm cho họ hiểu nhiều hơn trên đường: P: D
Saravanabalagi Ramachandran

3
Một cách khác là sao chép môi trường conda create --name new_name --clone old_namesau đó bạn có thể loại bỏ cái cũ.
Y0da

4
Lời cảnh báo - Tôi đã thử làm điều này và gặp phải những lỗi kỳ quái - tôi .bashrckhông còn làm việc nữa và cố gắng chạy pytestsẽ thất bại, cố gắng tham khảo môi trường đã bị xóa. Tôi đã thử vỏ mới và khởi động lại không có may mắn. Cuối cùng phải thổi bay môi trường mới, sau đó chỉ cần bắt đầu với một cài đặt sạch. Chậm hơn, nhưng dường như thực sự làm việc bây giờ.
lùn

3
@dwanderson +5000 vì tôi sẽ thử sử dụng câu trả lời này, nhưng thay vào đó tôi sẽ rút cái băng ra ngay và tạo lại env có tên xấu của tôi từ đầu.
bgoodr

13

Dựa trên nhận xét hữu ích của người lùn , tôi đã có thể thực hiện điều này trong một bài viết của Bash:

conda create --name envpython2 --file <(conda list -n env1 -e )

Env tên xấu của tôi là "env1" và cái mới tôi muốn sao chép từ nó là "envpython2".


1
Chạy vào một lỗi nói PackagesNotFoundError: The following packages are not available from current channelsvới kịch bản này. Kịch bản này có thể chỉ hoạt động khi bạn không có các gói được cài đặt với pip và không có sẵn trong conda trong môi trường hiện tại?
Yuxuan Chen


-41

Chỉ cần mở thư mục "\ Anaconda \ envs" và đổi tên nó.

Trước khi đổi tên trước khi đổi tên

Sau khi đổi tên sau khi đổi tên


13
Câu trả lời này phá vỡ jupyter. Jupyter báo cáo "đường dẫn không tìm thấy" khi cố gắng khởi chạy kernel python.
MD004

5
Có một rủi ro rất lớn để phá vỡ môi trường
FabienP

2
đừng làm điều này
BenP

một lý do đây là một ý tưởng tồi - có những tệp trong thư mục env / name chứa đường dẫn tuyệt đối đến thư mục đó. Nếu bạn di chuyển thư mục, đường dẫn sẽ không còn hoạt động nữa vì nó trỏ đến thư mục cũ không còn tồn tại: envs / ds_tensorflow / Lib / site-gói / sipconfig.py: 'default_bin_dir': 'C: / Users / me / miniconda3 / envs / ds_tensorflow', envs / ds_tensorflow / Lib / site-packages / sipconfig.py: 'default_mod_dir': 'C: / Users / me / miniconda3 / envs / ds_tensorflow \\ \\ Lib site-packages',
Donald S
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.