Nếu bạn không cần các gói python cho tất cả người dùng thì bạn có thể cài đặt chúng trong nhà của bạn như thế này:
pip install --user packagename
Cài đặt trong nhà của bạn sẽ không xung đột với người quản lý gói.
Theo mặc định pip install --user
sẽ cài đặt trong thư mục "trang web người dùng" của bạn. Thông thường đó là một cái gì đó như : /home/lesmana/.local/lib/python3.6/site-packages
.
Lệnh sau sẽ in, trong số những người khác, vị trí "trang web người dùng" của bạn:
python -m site
Để tùy chỉnh vị trí cài đặt:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
cái này sẽ cài đặt mọi thứ bên dưới $HOME/some/dir
chạy:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
Xem hướng dẫn sử dụng pip để biết thêm thông tin.
Nếu bạn muốn gói python cho tất cả người dùng thì nơi tốt nhất để cài đặt nó là /opt
. ví dụ như thế này:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(lưu ý thiếu --user
)
và để chạy, như trên:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Giải thích nền: /opt
thường được thừa nhận bởi các bản phân phối gnu / linux là thư mục nơi người dùng cục bộ hoặc quản trị viên hệ thống có thể cài đặt nội dung của riêng mình. nói cách khác: trình quản lý gói phân phối thường không chạm vào /opt
. điều này ít nhiều được tiêu chuẩn hóa trong Tiêu chuẩn phân cấp hệ thống tập tin
Để tạo sự thoải mái cho người dùng, bạn vẫn sẽ muốn viết một tập lệnh bao bọc và đặt nó vào /bin
hoặc /usr/bin
. Điều này vẫn có nguy cơ va chạm với trình quản lý gói phân phối nhưng ít nhất nó chỉ là một tệp script bao bọc. Vì vậy, thiệt hại có thể được thực hiện là tối thiểu. Bạn có thể đặt tên cho tập lệnh bao bọc giống như local-foo
hoặc custom-foo
để giảm thiểu rủi ro va chạm với trình quản lý gói phân phối.
Ngoài ra, bạn có thể sửa đổi PATH
để bao gồm /opt/bin
và đặt tập lệnh trình bao bọc của bạn ở đó. Nhưng điều này một lần nữa yêu cầu bạn sửa đổi một (hoặc một số) tệp hệ thống PATH
được xác định một lần nữa có thể bị ghi đè bởi trình quản lý gói phân phối.
Tóm lại: nếu bạn muốn cài đặt cho tất cả người dùng thì hãy thực hiện /opt
. Nơi bạn đặt tập lệnh bao bọc cho thoải mái là một cuộc gọi phán xét.
Thông tin thêm về /opt
và Tiêu chuẩn phân cấp hệ thống tập tin: