Đây là giải pháp mà tôi đã kết thúc bằng:
import pip
def install(package):
# Debugging
# pip.main(["install", "--pre", "--upgrade", "--no-index",
# "--find-links=.", package, "--log-file", "log.txt", "-vv"])
pip.main(["install", "--upgrade", "--no-index", "--find-links=.", package])
if __name__ == "__main__":
install("mypackagename")
raw_input("Press Enter to Exit...\n")
Tôi chắp này với nhau từ pip install examples cũng như từ Rikard's answer trên another question. Đối số "--pre" cho phép bạn cài đặt các phiên bản không sản xuất. Đối số "--no-index" tránh tìm kiếm các chỉ mục PyPI. "--find-links =." tìm kiếm đối số trong thư mục cục bộ (điều này có thể là tương đối hoặc tuyệt đối). Tôi đã sử dụng đối số "--log-file", "log.txt" và "-vv" để gỡ lỗi. Đối số "--upgrade" cho phép bạn cài đặt các phiên bản mới hơn so với phiên bản cũ hơn.
Tôi cũng tìm thấy cách tốt để gỡ cài đặt chúng. Điều này rất hữu ích khi bạn có nhiều môi trường Python khác nhau. Đó là định dạng cơ bản giống nhau, chỉ cần sử dụng "gỡ bỏ" thay vì "cài đặt", với một biện pháp an toàn để ngăn chặn uninstalls ngoài ý muốn:
import pip
def uninstall(package):
response = raw_input("Uninstall '%s'? [y/n]:\n" % package)
if "y" in response.lower():
# Debugging
# pip.main(["uninstall", package, "-vv"])
pip.main(["uninstall", package])
pass
if __name__ == "__main__":
uninstall("mypackagename")
raw_input("Press Enter to Exit...\n")
Các thư mục địa phương chứa những tập tin này: install.py, uninstall.py, mypackagename- 1.0.zip
Nguồn
2014-10-15 23:17:08
tôi đang tìm kiếm để cài đặt một gói PyPi mà không setup.py, từ bánh xe WHL, và nó đã được cài đặt sau khi tôi tải xuống phiên bản đúng cho phiên bản Python của mình và chạy 'pip install'. –
Liên quan: [Làm thế nào để pip cài đặt gói theo requirements.txt từ một thư mục địa phương?] (Http://stackoverflow.com/q/7225900/95735) –