2015-05-14 21 views
8

Có một số tài nguyên so sánh và đối chiếu các ưu điểm và nhược điểm khi sử dụng apt-getpip để cài đặt, cập nhật và gỡ cài đặt gói python.Cập nhật/gỡ cài đặt với gói Pip được cài đặt với apt (và ngược lại)

Điều tôi không thể tìm thấy là tài nguyên cho biết điều gì sẽ xảy ra nếu nội dung nào đó được cài đặt bởi một trình quản lý gói được cập nhật hoặc gỡ cài đặt bởi trình quản lý gói khác.

Khi tôi chạy pip list, nó liệt kê rất nhiều gói được cài đặt, hầu hết trong số đó trên hệ thống của tôi đã được cài đặt bởi apt-get và không phải pip.

Vì vậy, hai trình quản lý gói này có thể quản lý các gói do người khác cài đặt không? Hoặc, là pip có thể quản lý gói được cài đặt bởi apt-get, nhưng sau đó apt-get sẽ bị làm sai lệch sau đó. Có phải apt-get có thể quản lý gói được cài đặt bởi pip không?

+1

quy tắc chung: nếu nghi ngờ, không bao giờ sử dụng nhiều trình quản lý gói. Tất cả các nhà quản lý gói mà tôi biết là ích kỷ - họ mong đợi là người duy nhất hợp nhất các gói vào hệ thống của bạn. Nhưng với pip bạn có rất nhiều lựa chọn: Bạn có thể sử dụng 'pip install --user' để cài đặt các gói vào thư mục chủ của người dùng. Một lựa chọn tốt hơn nữa là sử dụng 'virtualenv' để đảm bảo bạn không can thiệp vào python của hệ thống. – cel

Trả lời

1

Tôi khuyên bạn nên thử và tránh sử dụng hai (hoặc nhiều) trình quản lý gói cùng một lúc. Nó không phải là rất có khả năng rằng họ sẽ hợp tác một cách chính xác và thuận lợi.

Nếu có thể, hãy chọn một trong số họ và sử dụng. Kết hợp chúng chỉ khi bạn thực sự cần. Thông thường bạn không.

Có nhiều cách để tránh xung đột như

  • pip install --user <package> dùng để cài đặt gói vào thư mục của người dùng chỉ
  • virtualenv cho phép bạn có các gói cài đặt cho mỗi ứng dụng/dự án - đây là một ý tưởng rất tốt vì các dự án khác nhau có thể cần các phiên bản khác nhau của cùng một gói và thật dễ dàng để di chuyển dự án đó làm một máy tính khác, v.v.
  • venv - Python 3 có hỗ trợ tích hợp cho môi trường ảo
Các vấn đề liên quan