Câu trả lời ngắn gọn là, theo kinh nghiệm của tôi nói chung, không quan trọng bạn sử dụng cái gì.
Câu trả lời dài:
Vì vậy, conda-forge
một kênh bổ sung mà từ đó các gói có thể được cài đặt. Theo nghĩa này, nó không đặc biệt hơn kênh mặc định hoặc bất kỳ kênh nào trong số hàng trăm (hàng nghìn?) Kênh khác mà mọi người đã đăng gói. Bạn có thể thêm kênh của riêng mình nếu bạn đăng ký tại https://anaconda.org và tải lên các gói Conda của riêng bạn.
Ở đây chúng ta cần phân biệt, điều mà tôi nghĩ rằng bạn không rõ về cụm từ của bạn trong câu hỏi, giữa conda
, trình quản lý gói đa nền tảng và conda-forge
kênh gói. Anaconda Inc. (trước đây là Continuum IO), nhà phát triển chính của conda
phần mềm, cũng duy trì một kênh gói riêng, là mặc định khi bạn nhập conda install packagename
mà không thay đổi bất kỳ tùy chọn nào.
Có ba cách để thay đổi các tùy chọn cho các kênh. Hai cái đầu tiên được thực hiện mỗi khi bạn cài đặt một gói và cái cuối cùng là liên tục. Đầu tiên là chỉ định kênh mỗi khi bạn cài đặt gói:
conda install -c some-channel packagename
Tất nhiên, gói phải tồn tại trên kênh đó. Cách này sẽ cài đặt packagename
và tất cả các phụ thuộc của nó từ some-channel
. Thay phiên, bạn có thể chỉ định:
conda install some-channel::packagename
Gói vẫn phải tồn tại some-channel
, nhưng bây giờ, chỉ packagename
sẽ được kéo từ some-channel
. Bất kỳ gói nào khác cần thiết để đáp ứng phụ thuộc sẽ được tìm kiếm từ danh sách kênh mặc định của bạn.
Để xem cấu hình kênh của bạn, bạn có thể viết:
conda config --show channels
Bạn có thể kiểm soát thứ tự mà các kênh được tìm kiếm conda config
. Bạn có thể viết:
conda config --add channels some-channel
để thêm kênh some-channel
vào đầu channels
danh sách cấu hình. Điều này cho some-channel
ưu tiên cao nhất. Ưu tiên xác định ( một phần ) kênh nào được chọn khi có nhiều kênh có một gói cụ thể. Để thêm kênh vào cuối danh sách và ưu tiên thấp nhất, hãy nhập
conda config --append channels some-channel
Nếu bạn muốn xóa kênh mà bạn đã thêm, bạn có thể làm như vậy bằng cách viết
conda config --remove channels some-channel
Xem
conda config -h
để có thêm lựa chọn.
Với tất cả những gì đã nói, có bốn lý do chính để sử dụng conda-forge
kênh thay vì defaults
kênh được duy trì bởi Anaconda:
- Các gói trên
conda-forge
có thể cập nhật hơn các gói trên defaults
kênh
- Có các gói trên
conda-forge
kênh không có sẵn từdefaults
- Bạn muốn sử dụng một phụ thuộc như
openblas
(từ conda-forge
) thay vì mkl
(từ defaults
).
- Nếu bạn đang cài đặt gói yêu cầu thư viện đã biên dịch (ví dụ: tiện ích mở rộng C hoặc trình bao bọc xung quanh thư viện C), nó có thể giảm khả năng không tương thích nếu bạn cài đặt tất cả các gói trong môi trường từ một kênh do nhị phân khả năng tương thích của thư viện C cơ sở (nhưng lời khuyên này có thể đã hết hạn / thay đổi trong tương lai).
conda
là một người quản lý gói vàconda-forge
là một kênh. Có lẽ đó là sự thật khi câu hỏi này được hỏi?