development

conda 또는 conda-forge를 Python 환경에 사용해야합니까?

big-blog 2020. 9. 5. 10:21
반응형

conda 또는 conda-forge를 Python 환경에 사용해야합니까?


Conda그리고 conda-forge둘 다 Python 패키지 관리자입니다. 패키지가 두 저장소에 모두 존재할 때 적절한 선택은 무엇입니까? 예를 들어, Django는 둘 중 하나로 설치할 수 있지만 둘 사이의 차이점은 몇 가지 종속성입니다 (conda-forge에는 더 많은 것이 있습니다). 이러한 차이점에 대한 설명은 없으며 간단한 README도 없습니다.

어느 것을 사용해야합니까? Conda 또는 conda-forge? 그게 그렇게 중요한 건가?


짧은 대답은 제 경험상 일반적으로 어떤 것을 사용하든 상관 없다는 것입니다.

긴 대답 :

그래서 conda-forge패키지가 설치 될 수있는 추가 채널입니다. 이런 의미에서 기본 채널이나 사람들이 패키지를 게시 한 다른 수백 개 (수천 개?)의 채널보다 더 특별한 것은 아닙니다. https://anaconda.org에 가입하고 자신의 Conda 패키지를 업로드 하면 자신의 채널을 추가 할 수 있습니다 .

여기서는 conda크로스 플랫폼 패키지 관리자 인, conda-forge패키지 채널 인 이라는 질문에 대한 문구에서 명확하지 않은 구분을해야합니다 . conda소프트웨어 의 주요 개발자 인 Anaconda Inc. (이전의 Continuum IO) conda install packagename옵션을 변경하지 않고 입력 할 때 기본값 인 별도의 패키지 채널을 유지합니다 .

채널 옵션을 변경하는 방법에는 두 가지가 있습니다. 하나는 패키지를 설치할 때마다 채널을 지정하는 것입니다.

conda install -c some-channel packagename

물론 패키지는 해당 채널에 있어야합니다. 동일한 채널을 자주 사용하는 경우이를 구성에 추가 할 수 있습니다. 당신은 쓸 수 있습니다

conda config --add channels some-channel

구성 목록 some-channel의 맨 위에 채널을 추가합니다 channels. 이것은 some-channel가장 높은 우선 순위를 제공 합니다 (우선 순위 는 두 개 이상의 채널에 특정 패키지가있을 때 어떤 채널이 선택되는지 를 부분적으로 결정 합니다). 목록 끝에 채널을 추가하고 가장 낮은 우선 순위를 지정하려면 다음을 입력하십시오.

conda config --append channels some-channel

추가 한 채널을 제거하려면 다음과 같이 작성하면됩니다.

conda config --remove channels some-channel

보다

conda config -h

더 많은 옵션.

모두 말하면 Anaconda에서 유지 관리 하는 conda-forge채널 대신 채널 을 사용하는 4 가지 주요 이유가 있습니다 defaults.

  1. 의 패키지 채널 에있는 것보다 더 최신 상태 conda-forge 있습니다.defaults
  2. conda-forge채널에 사용할 수없는 패키지 가 있습니다.defaults
  3. 당신은 같은 종속성을 사용하는 것을 선호 openblas(에서 conda-forge) 대신 mkl(에서 defaults).
  4. 컴파일 된 라이브러리가 필요한 패키지 (예 : C 확장 또는 C 라이브러리 주위의 래퍼) 를 설치하는 경우 바이너리로 인해 단일 채널에서 환경에 모든 패키지를 설치하면 비 호환성 가능성 줄어들 있습니다. 기본 C 라이브러리의 호환성 (하지만이 조언은 구식이거나 향후 변경 될 수 있습니다).

conda-forge 채널은 conda 용으로 구축되었지만 아직 공식 Anaconda 배포판에 포함되지 않은 패키지를 찾을 수있는 곳입니다.

일반적으로 이들 중 하나를 사용할 수 있습니다.


conda installconda-forge를 적용하지 않으면 채널을 사용할 수 없기 때문에 단순으로 설치할 수없는 일부 Python 라이브러리가 있습니다 . 내 경험상 pip는 conda보다 다른 채널 소스를 조사하는 것이 더 일반적입니다. 예를 들어, 설치하려면 ** cond **를 python-constraint통해 설치할 수 있습니다 pip install. 채널을 지정해야합니다.- conda-forge.

conda install -c conda-forge python-constraint // works

하지만

conda install python-constraint

참고 URL : https://stackoverflow.com/questions/39857289/should-conda-or-conda-forge-be-used-for-python-environments

반응형