답변:
짧은 대답은 제 경험상 일반적으로 어떤 것을 사용하든 상관 없다는 것입니다.
긴 대답 :
그래서 conda-forge
패키지가 설치 될 수있는 추가 채널입니다. 이런 의미에서 기본 채널이나 사람들이 패키지를 게시 한 다른 수백 개 (수천 개?)의 채널보다 더 특별하지 않습니다. https://anaconda.org 에서 가입하면 자신의 채널을 추가 할 수 있습니다. 자신의 Conda 패키지를 업로드 .
여기서는 conda
크로스 플랫폼 패키지 관리자 인, conda-forge
패키지 채널 인 , 사이의 질문 문구에서 명확하지 않은 구분을해야합니다 . conda
소프트웨어 의 주요 개발자 인 Anaconda Inc. (이전의 Continuum IO) 도 별도의 패키지 채널을 유지합니다.이 채널은 입력 할 때 기본값입니다.conda install packagename
옵션을 변경하지 않고 입니다.
채널 옵션을 변경하는 방법에는 세 가지가 있습니다. 처음 두 개는 패키지를 설치할 때마다 수행되고 마지막 두 개는 영구적입니다. 첫 번째는 패키지를 설치할 때마다 채널을 지정하는 것입니다.
conda install -c some-channel packagename
물론 패키지는 해당 채널에 있어야합니다. 이 방법은 설치됩니다packagename
및 모든 종속 some-channel
. 또는 다음을 지정할 수 있습니다.
conda install some-channel::packagename
패키지는 여전히 존재해야합니다. some-channel
하지만 지금은에서만 packagename
가져옵니다 some-channel
. 종속성을 충족시키는 데 필요한 다른 패키지는 기본 채널 목록에서 검색됩니다.
채널 구성을 보려면 다음과 같이 작성할 수 있습니다.
conda config --show channels
채널 검색 순서를 제어 할 수 있습니다. conda config
. 당신은 쓸 수 있습니다:
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
.
conda-forge
수 있습니다.defaults
conda-forge
채널에 사용할 수없는 패키지 가 있습니다.defaults
openblas
(from conda-forge
) 과 같은 종속성을 사용하는 것이 좋습니다.mkl
에서 (defaults
).conda install -c some-channel packagename
명령을 작성하는 방법 을 사용하는 것이 더 쉬울 것입니다
mkl
보다 더 빨리 openblas
?
Anaconda는 서비스 약관을 변경하여 "중공업 사용자"가 conda-forge
채널을 포함하지 않는 비용을 지불해야 합니다.
conda-forge
사용량에 대한 비용을 지불하고 싶지 않다면 고수하고 싶을 것입니다 . 문서에 명시된대로 :
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install <package-name>
또한 기본 채널이 있고 ppc64le 및 aarch64 플랫폼과 다른 일반적인 플랫폼을 지원 하는 miniforge 를 사용할 수도 conda-forge
있습니다.
conda install
conda-forge를 적용하지 않으면 채널을 사용할 수 없기 때문에 단순으로 설치할 수없는 일부 Python 라이브러리가 있습니다 . 내 경험상 pip는 conda보다 다른 채널 소스를 조사하는 것이 더 일반적입니다. 예를 들어 설치하려면 ** cond **를 python-constraint
통해 설치할 수 있습니다 pip install
. 채널을 지정해야합니다.- conda-forge
.
conda install -c conda-forge python-constraint // works
하지만
conda install python-constraint
conda update --all
패키지 (및 잠재적으로 해당 종속성)를 관리해야하며 같은 명령 은 pip 설치된 패키지를 업데이트하지 않습니다
conda
패키지 관리자이며conda-forge
채널입니다. 이 질문을 받았을 때 사실 이었을까요?