Conda 및 pip을 사용한 환경 관리

어이, 동료들,
의존 관계를 처리할 때, 파이썬 세계는 이러한 의존 관계를 관리하는 몇 가지 도구를 제공한다.파이톤과 비파이톤 패키지를 처리하고, 서로 다른 파이톤 버전을 처리하며, 좋은 격리를 확보하는 것이 중요하다.pipenvpoetry 같은 도구는 이런 분야에서 매우 유행하지만conda은 여러 해 동안 과학계의 첫 번째 도구로 증명되었다.💪Condaim과pip의 조합은 내가 매일 즐겨 사용하는 것이다.콘다는 비파이썬 코드를 처리하는 데 특히 뛰어나기 때문에 RDKit(화학정보고)와 같은 라이브러리는 콘다 생태계에서만 사용할 수 있다.그것은 데이터 과학 업무의 중요한 자원이다.
여기에서, 나는 당신에게 condapip의 기본 명령을 보여 주고 싶습니다. 이것은 내가 의존 항목을 관리하는 데 사용하는 것입니다.
먼저 Anaconda가 설치되어 있지 않으면 시스템에 설치해야 합니다.다음은 데이터 과학 업무에 좋은 환경을 제공하기 위해 판다스, matplotlib,jupyter 실험실을 설치할 것입니다.

환경 만들기 및 패키지 설치
우선, 우리는 새로운 환경을 창조해야 한다.
$ conda create -n my-new-environment python=3.8
여기에서 우리는 환경을 my-new-environment로 명명하고 Python 버전 3.8을 사용합니다.콘다는 소프트웨어 패키지 데이터를 수집하여 우리의 새로운 환경을 만들 것이다.우리의 새로운 환경을 활성화시켜서...
$ conda activate my-new-environment
...우리는 콘다스 기지 환경을 떠나 새로 창설된 환경에 들어갔다.그리고 우리는 필요한 의존항을 설치할 수 있다.
$ conda install matplotlib pandas 
Jupyter실험실은 conda-forge 채널을 통해 제공된다. 이것은 default 채널을 통해 제공되는 것이 아니라 인기 있고 유지 보수가 좋은 채널이다.이것이 바로 우리가 채널 이름을 제공해야 하는 이유입니다.
$ conda install -c conda-forge jupyterlab
소프트웨어 패키지를 설치할 때 conda-forge 채널의 맨 위에서 default 리포를 검색할 수 있도록 채널을condas 설정에 즉시 추가합니다.Conda forge는 매우 인기가 있고 잘 유지되는 채널이기 때문에 영구적으로 추가할 것입니다.
$ conda config --add channels conda-forge
conda forge가 ~./condarc 파일에 추가된 것을 볼 수 있습니다.
ssl_verify: true
channels:
  - conda-forge
  - defaults
일부 condas 명령은 pip의 명령과 유사하다.현재 환경의 패키지를 나열하려면 다음을 입력합니다.
$ conda list
모든 anaconda 저장소에서 패키지를 검색하려면 다음 명령을 사용합니다.
$ anaconda search <package_name>

여러 환경 관리
그러나 우리는 어떻게 여러 환경에 대응할 것인가?먼저 생성된 환경을 복제합니다.
$ conda create --clone my-new-environment --name my-clone
conda env list를 입력하면 기본 환경과 인접한 두 환경을 볼 수 있습니다.
$ conda env list

# conda environments:
#
base                   /home/niklas/anaconda3
my-new-environment     /home/niklas/anaconda3/envs/my-new-environment
my-clone               /home/niklas/anaconda3/envs/my-clone
우리는 새로운 환경을 활성화해서 환경을 전환할 수 있다.
$ conda activate my-clone
현재 활성 상태인 환경을 확인하려면 conda info를 입력합니다.그나저나 Oh My Zsh 같은 프레임은 터미널 내 활동 환경을 보여주고 있어 생활을 더 편하게 한다.
자, 이제 클론 환경을 정리하고 삭제합시다.
$ conda deactivate 
$ conda env remove --name my-clone
콘다는 설치된 모든 소프트웨어 패키지를 'pkgs' 디렉터리에 저장하기 때문에, 나는 수시로 그것을 정리해서 공간을 확보할 것이다.
$ conda clean -h

공유 환경
개발자는 한 사람의 군대가 아니다.우리는 우리의 일을 다른 개발자/엔지니어에게 공유할 것이다. 그들은 우리의 일을 복제할 수 있어야 한다.Conda는 환경 의존 항목을 yaml 파일로 내보내고 이 파일에서 환경을 다시 만들 수 있습니다.
$ conda env export --name my-new-environment > environment.yaml
현재 모든 의존 항목은 environment.yaml 파일에서 찾을 수 있습니다.다른 사람들은 이 파일을 사용하여 환경을 다시 만들 수 있습니다.--file 플래그 값conda이 제공되지 않으면 현재 작업 디렉토리에서 environment.yaml 파일을 검색하고 이 파일에서 환경을 다시 만듭니다.
$ conda env create              
$ conda env create --file environment-dev.yaml   
그러나 conda 관리 의존항을 사용할 때 conda 패키지만 사용해야 한다고 생각하지 마세요!pypi 의존 항목만 설치된 프로젝트를 관리할 때, 나도 conda를 사용합니다.조직여기에 저장/재창설pip 의존 항목에 대한 명령이 있습니다.
$ pip freeze > requirements.txt   
$ pip install -r requirements.txt
Conda는 다양한 환경에서 쉽게 전환할 수 있으며 언제든지 Conda 패키지에 액세스할 수 있습니다.불행하게도, condas는 환경을 만들고 conda 패키지를 설치하는 속도가 뛰어나지 않지만, 이미 충분합니다. 다른 Dependency 관리자가 아닌 다른 Dependency 관리자가 더 좋습니다.🙂. Anaconda에 항목을 업로드하는 방법에 대해 알고 싶으면 내 글 ""을(를) 참조하십시오.
자, 이렇게, 나는 네가 구렁이에 대한 호기심을 불러일으킬 수 있기를 바란다.관심 가져주셔서 감사합니다. 즐거운 하루 되세요!🙂
내가 사용하는 모든conda 명령은 내 Linux Cheat Sheet에서 찾을 수 있다.

좋은 웹페이지 즐겨찾기