콘다 환경의 이름을 바꾸려면 어떻게해야합니까?


답변:


457

당신은 할 수 없습니다.

한 가지 해결 방법은 것입니다 만들 복제 환경을 한 다음 제거 원래 하나를 :

( deactivateWindows 및 source deactivatemacOS / Linux에서 현재 환경을 비활성화하는 것에 대해 기억하십시오 )

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

이 방법에는 몇 가지 단점이 있습니다.

  1. 패키지를 다시 다운로드합니다- --offline플래그를 사용하여 비활성화 할 수 있습니다 .
  2. 환경 파일 복사에 소요되는 시간
  3. 임시 이중 디스크 사용량.

이 기능을 요청 하는 공개 문제가 있습니다.


90
booooo 왜 conda env의 이름을 바꿀 수 없습니까?
Charlie Parker

6
conda를 포크하여 그들이 훨씬 더 많은 것을 이해하게하는 사람들을 위해 약간의 일을 남겨두기 위해 : P : D
Saravanabalagi Ramachandran

3
또 다른 방법은 환경을 복제 한 conda create --name new_name --clone old_name다음 이전 환경 을 제거 할 수 있습니다.
Y0da

4
경고의 말씀-나는 이것을 시도하고 기괴한 오류에 부딪쳤다. .bashrc더 이상 일하지 않았고 실행하려고 시도하면 pytest실패한 환경을 참조하려고 시도했다. 나는 새로운 껍질을 시도하고 운없이 다시 시작했습니다. 새로운 환경을 날려 버린 다음 새로 설치로 시작하십시오. 느리지 만 실제로 작동하는 것 같습니다.
dwanderson

3
@dwanderson +5000 으로이 답변을 사용하려고 시도했지만 대신 반창고를 꺼내고 잘못 명명 된 env를 처음부터 다시 작성하려고합니다.
bgoodr

13

Dwanderson 의 유용한 의견을 바탕으로 Bash one-liner 에서이 작업을 수행 할 수있었습니다.

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

내 이름이 env 인 "env1"이 있고 복제하려는 새 이름은 "envpython2"입니다.


1
PackagesNotFoundError: The following packages are not available from current channels이 스크립트에 오류가 발생했습니다 . 이 스크립트는 아마도 pip와 함께 설치되고 기존 환경에서 콘다로 사용할 수없는 패키지가 없을 때만 작동합니다.
Yuxuan Chen


-41

"\ Anaconda \ envs"폴더를 열고 이름을 바꾸십시오.

이름을 바꾸기 전에 이름을 바꾸기 전에

이름을 바꾼 후 이름을 바꾼 후


13
이 답변은 jupyter를 깨뜨립니다. Python 커널을 시작하려고 할 때 Jupyter가 "경로를 찾을 수 없음"을보고합니다.
MD004

5
환경을 파괴 할 큰 위험이 있습니다
FabienP

2
이러지 마
BenP

한 가지 이유는 이것이 나쁜 생각입니다. env / name 디렉토리 안에 해당 디렉토리의 절대 경로를 포함하는 파일이 있습니다. 디렉토리를 이동하면 더 이상 존재하지 않는 이전 디렉토리를 가리키는 경로가 더 이상 작동하지 않습니다. envs / ds_tensorflow / Lib / site-packages / 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.