Tôi cần bao gồm các gói Python có sẵn thông qua kho Github công cộng cùng với gói Python (2.7) của tôi. Gói của tôi có thể được cài đặt qua pip
sử dụng setup.py
.Cách bao gồm các phụ thuộc git trong setup.py để cài đặt pip
Cho đến nay, điều này có thể được thực hiện bằng dependency_links
trong setup.py
file:
setuptools.setup(
name="my_package",
version="1.0",
install_requires=[
"other_package==1.2"
],
dependency_links=[
"https://github.com/user/other_package/tarball/master#egg=other_package-1.2"
]
)
này vẫn hoạt động khi gói được cài đặt với các --process-dependency-links
cờ, nhưng chức năng dependency_links
dường như bị phản đối, vì:
pip install git+https://github.com/user/[email protected]#egg=my_package-1.0 --process-dependency-links
mang lại cho tôi những cảnh báo sau đây:
DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Có cách nào khác để bao gồm các phụ thuộc git
trong tệp setup.py
có hỗ trợ cài đặt pip không?
Chỉnh sửa (2016/10/17) để làm rõ trường hợp sử dụng của tôi:
Hãy nói rằng tôi tìm thấy một lỗi trong other_package
. Tôi ngã ba repo tương ứng trên Github, sửa lỗi và thực hiện một yêu cầu kéo. Yêu cầu kéo của tôi không được chấp nhận ngay lập tức (hoặc sẽ không bao giờ vì gói không còn được duy trì tích cực nữa). Tôi muốn phân phối my_package
cùng với nĩa của tôi other_package
và muốn người dùng có thể cài đặt pip my_package
mà không cần biết thêm chi tiết về yêu cầu này và không phải cung cấp bất kỳ cờ bổ sung nào khi cài đặt. Người dùng của my_package
sẽ tiếp tục có thể bao gồm my_package
làm yêu cầu trong gói tùy chỉnh của riêng họ.
Làm cách nào để đạt được điều này với các chế độ cài đặt khác nhau (bánh xe, trứng, phát triển, ...)?