Giả sử rằng bạn đã cài đặt pip hoặc easy_install trên bản phân phối python của mình, tôi muốn biết cách cài đặt gói yêu cầu trong thư mục người dùng từ bên trong tập lệnh.Làm thế nào để cài đặt một gói python thiếu từ bên trong kịch bản cần nó?
Từ những gì tôi biết pip cũng là một mô-đun python vì vậy giải pháp nên hình như:
try:
import zumba
except ImportError:
import pip
# ... do "pip install --user zumba" or throw exception <-- how?
import zumba
Những gì tôi đang mất tích đang làm "PIP cài đặt zumba --user" từ bên trong python, tôi không muốn làm điều đó bằng cách sử dụng os.system()
vì điều này có thể tạo ra các sự cố khác.
tôi giả sử nó có thể ...
Làm thế nào về giải pháp này: http://stackoverflow.com/questions/12332975/installing-python-module-within-code –
Tôi nghĩ rằng đây sẽ là một rất thực hành mã hóa không mong muốn bên ngoài tập lệnh thiết lập. Tôi (như tôi đoán hầu hết mọi người) sẽ không thích/tin tưởng bất kỳ chương trình nào mà tôi chạy để thay đổi môi trường của tôi. Các công cụ như pip và virtualenv được đặc biệt ở đó để "người dùng" có quyền kiểm soát gói nào được cài đặt xuống phiên bản nào. Không phải là một chuyên gia về mâu thuẫn nhưng tôi biết rằng nó có các cơ sở để liệt kê các yêu cầu tiên quyết cho bất kỳ gói nào. Nếu nó chỉ là để sử dụng của riêng bạn, bạn có thể có thể munge một chút của mã đó. – Joop
Cảm ơn các bạn, nó hoạt động hoàn hảo. Như một lưu ý, đó là một giải pháp tốt cho các kịch bản độc lập, không phải mô-đun/gói. – sorin