Cài đặt Conda sẽ cho phép bạn tạo và xóa môi trường python theo ý muốn, do đó cung cấp cho bạn chức năng tương tự như virtualenv .
Trong trường hợp cả hai bản phân phối, bạn sẽ có thể tạo một cây hệ thống tập tin bị cô lập, nơi bạn có thể cài đặt và loại bỏ các gói python (có thể, với pip) như bạn muốn. Điều này có thể có ích nếu bạn muốn có các phiên bản khác nhau của cùng một thư viện cho các trường hợp sử dụng khác nhau hoặc bạn chỉ muốn thử một số phân phối và loại bỏ nó sau đó bảo tồn không gian đĩa của bạn.
Sự khác biệt:
Thỏa thuận cấp phép. Trong khi virtualenv thuộc hầu hết giấy phép MIT tự do , Conda sử dụng 3 giấy phép BSD.
Conda cung cấp cho bạn hệ thống kiểm soát gói riêng của họ. Hệ thống kiểm soát gói này thường cung cấp các phiên bản được biên dịch sẵn (đối với hầu hết các hệ thống phổ biến) của phần mềm không phải python phổ biến, có thể dễ dàng giúp một số gói học máy hoạt động. Cụ thể, bạn không phải biên dịch mã C / C ++ được tối ưu hóa cho hệ thống của mình. Mặc dù nó là một cứu trợ tuyệt vời cho hầu hết chúng ta, nó có thể ảnh hưởng đến hiệu suất của các thư viện như vậy.
Không giống như virtualenv, Conda sao chép một số thư viện hệ thống ít nhất là trên hệ thống Linux. Thư viện này có thể không đồng bộ dẫn đến hành vi không nhất quán của các chương trình của bạn.
Bản án:
Conda là tuyệt vời và nên là lựa chọn mặc định của bạn trong khi bắt đầu con đường của bạn với máy học. Nó sẽ giúp bạn tiết kiệm thời gian lộn xộn với gcc và nhiều gói. Tuy nhiên, Conda không thay thế virtualenv. Nó giới thiệu một số phức tạp bổ sung mà có thể không phải luôn luôn mong muốn. Nó đi theo giấy phép khác nhau. Bạn có thể muốn tránh sử dụng conda trên môi trường phân tán hoặc trên phần cứng HPC.