Tôi đang tạo một setup.py
tệp cho một dự án phụ thuộc vào các kho lưu trữ GitHub riêng tư. Các phần có liên quan của tệp trông như thế này:
from setuptools import setup
setup(name='my_project',
...,
install_requires=[
'public_package',
'other_public_package',
'private_repo_1',
'private_repo_2',
],
dependency_links=[
'https://github.com/my_account/private_repo_1/master/tarball/',
'https://github.com/my_account/private_repo_2/master/tarball/',
],
...,
)
Tôi đang sử dụng setuptools
thay distutils
vì vì sau này không hỗ trợ đối số install_requires
và dependency_links
cho mỗi câu trả lời này .
Tệp thiết lập ở trên không thể truy cập các kho lưu trữ riêng tư với lỗi 404 - điều này được mong đợi vì GitHub trả về 404 cho các yêu cầu trái phép đối với kho lưu trữ riêng tư. Tuy nhiên, tôi không thể tìm ra cách setuptools
xác thực.
Đây là một số điều tôi đã thử:
Sử dụng
git+ssh://
thay vìhttps://
trongdependency_links
như tôi sẽ làm nếu cài đặt repo vớipip
. Điều này không thành công vì setuptools không nhận ra giao thức này ("loại url không xác định: git + ssh"), mặc dù tài liệu phân phối cho biết điều đó nên làm. Dittogit+https
vàgit+http
.https://<username>:<password>@github.com/...
- vẫn nhận được 404. (Phương pháp này cũng không hoạt động vớicurl
hoặcwget
từ dòng lệnh - mặc dùcurl -u <username> <repo_url> -O <output_file_name>
nó hoạt động.)Nâng cấp setuptools (0.9.7) và virtualenv (1.10) lên phiên bản mới nhất. Cũng đã thử cài đặt phân phối mặc dù tổng quan này cho biết nó đã được hợp nhất trở lại vào setuptools. Dù bằng cách nào, không có xúc xắc.
Hiện tại, tôi vừa setup.py
in ra một cảnh báo rằng repo riêng tư phải được tải xuống riêng. Điều này rõ ràng là ít hơn lý tưởng. Tôi cảm thấy như có điều gì đó hiển nhiên mà tôi đang thiếu, nhưng không thể nghĩ nó có thể là gì. :)
Câu hỏi trùng lặp không có câu trả lời ở đây .