conda 만들기에 대한 새 환경 위치를 지정하는 방법


111

패키지의 기본 위치는 내 홈 디렉토리의 .conda 폴더입니다. 그러나 내가 사용하는 서버에는 사용할 수있는 공간에 대한 매우 엄격한 제한이 있으므로 기본적으로 내 홈 디렉토리 아래에 아무것도 두지 않습니다. 만들려는 가상 환경의 위치를 ​​지정하려면 어떻게해야합니까? 감사! 서버가 Ubuntu를 실행 중입니다.


9
답변에 문제가 있거나 왜 받아들이지 않았습니까? 마음에 들지 않는 것이 있으면 언제든지 댓글을 남길 수 있습니다.
피노키오

3
@linX 항상 당신이 좋아하는 답변에 찬성표를 붙이고, 가장 좋거나 문제를 해결하는 답변을 수락하십시오. 이것은 저자에게 사소한 상을 부여하고 계속해서 잘 생각하고 유용한 답변을 제공하도록 장려합니다.
마이크 윌리엄슨

답변:


124

사용 --prefix또는 -p경우 환경 파일을 작성하는 방법을 지정하는 옵션을 선택합니다. 예를 들면 :

conda create --prefix /tmp/test-env python=2.7

기본값 대신에 /tmp/test-env상주하는 이름의 환경을 만듭니다 ./tmp/.conda


6
하지만 일단 환경의 위치를 ​​옮겼을 때, conda는 새로운 환경이 어디에 있는지 어떻게 알 수 있습니까?
피노키오

4
~ / .conda / envs 내부에 각 환경에 대한 디렉토리가 있습니다. 다른 사람의 지침을 따르고 --prefix를 사용하여 원하는 곳에 설치하십시오. ~ / .conda / envs / 테스트 ENV LN -s / 공유 / 영어 / conds / envs / 테스트-ENV : 그리고 다른 하나에서 심볼릭 링크를 생성
로버트 Lugg

1
왜 작동하지 conda create --name hbf_env --prefix /om2/user/username python=3.6 않습니까? 말한다 -bash: /home/username/.conda/envs/hbf_env/bin/conda: No such file or directory?
Charlie Parker

7
찰리는 누락 된 파일 / 디렉토리에 대한 오류 메시지를 받았습니다 이유를 잘 모르겠지만,에 관계없이의, --name사용할 수 없습니다 --prefix. conda가 올바르게 설치되었다고 가정하면 해당 명령은 conda create --prefix /om2/user/username/hbf_env python=3.6. 이것은라는 ENV 만들 것 hbf_env위치에/om2/user/username/
토마스 Fauskanger

9
@ThomasFauskanger 그것은 접두사 명령이 적어도 나를 위해 환경에 대한 이름을 생성하지 않는 것 같습니다 .. conda create --prefix hbf_env로컬 디렉토리에서 conda info --envs이름이 공백으로 표시되지만 전체 경로가 표시됩니다 ... 환경을 활성화하려면 입력해야합니다 전체 경로 (CONDA 난 그냥 이름을 입력하면 환경을 찾을 수 없습니다)
여호수아 자스 트루

54

Paul이 말했듯이

conda create --prefix=/users/.../yourEnvName python=x.x

가상 환경을 만들려는 폴더에있는 경우 경로를 생략하고

conda create --prefix=yourEnvName python=x.x

conda는 anaconda 폴더 내의 envs 폴더에 포함 된 환경 만 추적합니다. 다음에 새 환경을 활성화해야 할 때 생성 한 폴더로 이동하고 다음을 사용하여 활성화하십시오.

source activate yourEnvName

2
당신은 환경 이름을 잊어 버린 경우 당신은 당신의 환경을 포함하는 디렉토리의 전체 경로를 사용할 수 있습니다
tjb

2
conda에게 .condarc구성 파일을 사용하여 다른 위치에서 환경을 찾도록 지시 할 수 있습니다 . conda.io/docs/user-guide/configuration/…
Harsh

이렇게하면 이름이없는 환경이 생성되고 디렉토리 만 생성됩니다. 문 안에 이름을 만드는 방법이 있습니까? Conda는 둘 다 지정하도록 허용하지 않습니다.
Kyouma

16

--prefix옵션을 사용하는 동안에는 환경을 만들 때마다 명시 적으로 사용해야합니다. 기본적으로 환경을 다른 곳에 저장하려는 경우 .condarc파일 에서 구성 할 수 있습니다 .

https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirs를 참조하십시오.


6
이미이 변수를 변경하지 않은 경우, 당신은이 하나 개의 명령을 실행하여 구성 할 수 있습니다 :conda config --append envs_dirs /path/to/envs
아서 Tacca에

6
env_prompt: ({name})프롬프트에서 전체 경로를 얻으면 ~ / .condarc에 추가 하십시오.
plonker13

13

--prefix또는 -p인수 를 사용하고 싶지만 활성화하기 위해 환경의 전체 경로를 사용하지 않으려면 환경을 만들기 전에.condarc 구성 파일 을 편집해야 합니다.

.condarc파일은 홈 디렉토리에; C:\Users\<user>Windows에서. envs_dirs환경에 대한 사용자 지정 경로를 포함 하도록 키 아래의 값을 편집 합니다. 사용자 지정 경로가라고 가정하면 D:\envs파일은 다음과 같이 표시됩니다.

ssl_verify: true
channels:
  - defaults
envs_dirs:
  - C:\Users\<user>\Anaconda3\envs
  - D:\envs

그런 다음 해당 경로에 새 환경을 만들 때를 실행할 때 경로와 함께 이름이 표시되며 conda env list전체 경로가 아닌 이름 만 사용하여 활성화 할 수 있어야합니다.

명령 줄 스크린 샷

요약하면 .condarc을 포함하도록 편집 D:\envs한 다음을 실행 conda env create -p D:\envs\myenv python=x.x하면 activate myenv(또는 source activate myenvLinux에서) 작동합니다.

도움이 되었기를 바랍니다.

추신 나는 시행 착오를 통해 이것을 우연히 발견했습니다. envs_dirs키 를 편집하면 conda가 ~\.conda\environments.txt에서 지정된 모든 디렉토리에있는 환경을 포함하도록 업데이트 envs_dirs하므로 절대 경로를 사용하지 않고도 액세스 할 수 있습니다.


8

이렇게 만들 수 있습니다.

conda create --prefix C:/tensorflow2 python=3.7

활성화하기 위해 해당 폴더로 이동할 필요가 없습니다.

# To activate this environment, use:
# > activate C:\tensorflow2

보시다시피 저는 이렇게합니다.

D:\Development_Avector\PycharmProjects\TensorFlow>activate C:\tensorflow2

(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>

(C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>conda --version
conda 4.5.13

1
OP는 우분투를 사용한다고 말했지만 +1은 Windows 시스템에서 솔루션을 제공했습니다. :)
Mike Williamson

3

비슷한 상황에 처했습니다. 더 큰 데이터 드라이브에 액세스 할 수있었습니다. 상황과 서버에 대한 액세스 권한에 따라 고려할 수 있습니다.

ln -s /datavol/path/to/your/.conda /home/user/.conda

그런 다음 후속 conda 명령은 datavol의 심볼릭 링크 디렉토리에 데이터를 넣습니다.


1
제 생각에는 이것은 정말 옳은 대답입니다. 원래 질문은 패키지 위치에 관한 것이었고 약간의 모호함이 있지만 최근 에이 문제에 직면하여 약간 조사했습니다. $HOME/.conda, envs및 아래에 두 개의 중요한 디렉토리가 있습니다 pkgs. --prefix위에서 언급 한 체계를 사용하면 다른 곳에 환경이 구축되지만 모든 패키지 파일 다운로드는 여전히 $HOME/.conda/pkgs. 여기에 제공된 symlink 솔루션은 환경 다운로드 위치를 모두 수정합니다 .
Andrew Reid

이것은 완벽한 soluction입니다!
Jingnan Jia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.