패키지의 기본 위치는 내 홈 디렉토리의 .conda 폴더입니다. 그러나 내가 사용하는 서버에는 사용할 수있는 공간에 대한 매우 엄격한 제한이 있으므로 기본적으로 내 홈 디렉토리 아래에 아무것도 두지 않습니다. 만들려는 가상 환경의 위치를 지정하려면 어떻게해야합니까? 감사! 서버가 Ubuntu를 실행 중입니다.
패키지의 기본 위치는 내 홈 디렉토리의 .conda 폴더입니다. 그러나 내가 사용하는 서버에는 사용할 수있는 공간에 대한 매우 엄격한 제한이 있으므로 기본적으로 내 홈 디렉토리 아래에 아무것도 두지 않습니다. 만들려는 가상 환경의 위치를 지정하려면 어떻게해야합니까? 감사! 서버가 Ubuntu를 실행 중입니다.
답변:
사용 --prefix
또는 -p
경우 환경 파일을 작성하는 방법을 지정하는 옵션을 선택합니다. 예를 들면 :
conda create --prefix /tmp/test-env python=2.7
기본값 대신에 /tmp/test-env
상주하는 이름의 환경을 만듭니다 ./tmp/
.conda
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
?
--name
사용할 수 없습니다 --prefix
. conda가 올바르게 설치되었다고 가정하면 해당 명령은 conda create --prefix /om2/user/username/hbf_env python=3.6
. 이것은라는 ENV 만들 것 hbf_env
위치에/om2/user/username/
conda create --prefix hbf_env
로컬 디렉토리에서 conda info --envs
이름이 공백으로 표시되지만 전체 경로가 표시됩니다 ... 환경을 활성화하려면 입력해야합니다 전체 경로 (CONDA 난 그냥 이름을 입력하면 환경을 찾을 수 없습니다)
Paul이 말했듯이
conda create --prefix=/users/.../yourEnvName python=x.x
가상 환경을 만들려는 폴더에있는 경우 경로를 생략하고
conda create --prefix=yourEnvName python=x.x
conda는 anaconda 폴더 내의 envs 폴더에 포함 된 환경 만 추적합니다. 다음에 새 환경을 활성화해야 할 때 생성 한 폴더로 이동하고 다음을 사용하여 활성화하십시오.
source activate yourEnvName
.condarc
구성 파일을 사용하여 다른 위치에서 환경을 찾도록 지시 할 수 있습니다 . conda.io/docs/user-guide/configuration/…
--prefix
옵션을 사용하는 동안에는 환경을 만들 때마다 명시 적으로 사용해야합니다. 기본적으로 환경을 다른 곳에 저장하려는 경우 .condarc
파일 에서 구성 할 수 있습니다 .
https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirs를 참조하십시오.
conda config --append envs_dirs /path/to/envs
env_prompt: ({name})
프롬프트에서 전체 경로를 얻으면 ~ / .condarc에 추가 하십시오.
--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 myenv
Linux에서) 작동합니다.
도움이 되었기를 바랍니다.
추신 나는 시행 착오를 통해 이것을 우연히 발견했습니다. envs_dirs
키 를 편집하면 conda가 ~\.conda\environments.txt
에서 지정된 모든 디렉토리에있는 환경을 포함하도록 업데이트 envs_dirs
하므로 절대 경로를 사용하지 않고도 액세스 할 수 있습니다.
이렇게 만들 수 있습니다.
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
비슷한 상황에 처했습니다. 더 큰 데이터 드라이브에 액세스 할 수있었습니다. 상황과 서버에 대한 액세스 권한에 따라 고려할 수 있습니다.
ln -s /datavol/path/to/your/.conda /home/user/.conda
그런 다음 후속 conda 명령은 datavol의 심볼릭 링크 디렉토리에 데이터를 넣습니다.
$HOME/.conda
, envs
및 아래에 두 개의 중요한 디렉토리가 있습니다 pkgs
. --prefix
위에서 언급 한 체계를 사용하면 다른 곳에 환경이 구축되지만 모든 패키지 파일 다운로드는 여전히 $HOME/.conda/pkgs
. 여기에 제공된 symlink 솔루션은 환경 과 다운로드 위치를 모두 수정합니다 .