`requirements.txt` 유형의 사람이 제공하는 Conda 팁

나는 requirements.txt ( venv/pipenv ) 유형의 사람입니다. 나름의 이유가 있지만 여기서는 이러한 이유를 언급하지 않겠습니다(기술적으로는 이 게시물에 설명된 것과 같은 문제가 이러한 이유 중 하나입니다).

어느 시점에서 마침내 conda에 익숙해져야 합니다. 첫 번째 놀라움: Linux에 conda를 설치하는 것은 sudo apt-get install ... 또는 sudo pip install ...만큼 간단하지 않습니다. bash 설치 프로그램을 다운로드하고 실행해야 합니다. 그러나 나는 그것으로 멋졌다. 몇 가지 설치 옵션을 선택하고 condaPATH를 추가한 후(설치 가이드에도 명시적으로 언급되지 않았습니다[1][2] ) 시작할 준비가 되었습니다.

작업을 시작하려는 프로젝트의 저장소에 environment.yml 파일이 있었습니다( requirements.py 와 동일). 이제 가장 까다로운 부분이 있습니다.

공식 문서는 다음과 같이 말합니다.

Create the environment from the environment.yml file:



conda env create -f environment.yml


좋아, 그래서 이 명령을 실행했지만 다음 오류가 발생했습니다.

CondaValueError: prefix already exists: /home/user/anaconda3


그것은 불행한 일입니다. 어쨌든, 나는 오류를 봤고 여기에 내가 찾은 것이 있습니다.

Conda bug: CondaValueError: prefix already exists: /home/user/anaconda2

간단히 말해서 .yml 파일에 빈 이름 필드가 있는 경우 다음과 같이 conda 명령을 사용하여 환경을 만들 때 환경 이름을 명시적으로 지정해야 합니다.

conda env create -f environment.yml -n environmentName


나는 이 조언을 따랐고 내 환경은 성공적으로 만들어졌습니다.


요약하자면, requiements.txt 유형의 사람으로서 제 팁은 conda가 명령 실행 및 이름 지정 측면에서 진행 상황을 더 잘 알아야 한다는 점에서 덜 "사용자 친화적"이라는 것입니다. 환경. 이를 pipenv의 동작과 비교하려면 기본적으로 pipenv~/local/share/virtualenvs/ 명령을 호출하는 디렉토리의 이름과 해시로 구성된 pipenv에 가상 환경이 있는 디렉토리를 만듭니다. 따라서 엔트리 레벨이 낮고 명령을 실행하기만 하면 작동하지만 환경이 어디에 있는지 알아야 합니다(해당 정보는 pipenv 의 출력 로그에서도 얻음). 반면에 Conda는 더 수수께끼 같은 오류 정보와 명령을 실행하기 전에 알아야 하는 규칙 때문에 사용하기가 더 어렵습니다.

좋은 웹페이지 즐겨찾기