Tôi đang cố gắng viết tệp cài đặt setup.py
cho một dự án riêng tư, có cả phụ thuộc công khai và riêng tư. Những người dùng chung được lưu trữ trên PyPI, trong khi những người riêng được lưu trữ trên một máy chủ chạy simplepypi.Làm cách nào để cài đặt các gói được lưu trữ trong PyPI riêng bằng setup.py?
Tôi muốn cả phụ thuộc công khai và riêng tư được giải quyết và tìm nạp trong khi cài đặt.
tôi như vậy, thêm vào phụ thuộc của tôi để setup.py
:
setup(
...
install_requires = [
# public dependencies
'argparse==1.2.1',
'beautifulsoup4==4.1.3',
'lxml==3.1.0',
'mongoengine==0.8.2',
'pymongo==2.5.2',
'requests==1.1.0',
'Cython==0.18',
# private dependencies
'myprivatepackage1',
'myprivatepackage2'
],
dependency_links=['http://pypi.myserver.com/packages'],
...
)
tôi xây dựng tarball gói bằng cách sử dụng lệnh python setup.py sdist
và cài đặt nó trong một virtualenv kích hoạt sử dụng pip install --verbose path/to/tarball.tar.gz
.
Tuy nhiên, đường nhật ký pip không đề cập đến máy chủ PyPI riêng của tôi ở bất kỳ đâu và https://pypi.python.org/simple/ dường như đã được truy vấn hai lần.
Running setup.py egg_info for package from file:///home/b/code/mapado/mypackage/dist/mypackage-0.5.1.tar.gz
running egg_info
creating pip-egg-info/mypackage.egg-info
writing requirements to pip-egg-info/mypackage.egg-info/requires.txt
writing pip-egg-info/mypackage.egg-info/PKG-INFO
writing top-level names to pip-egg-info/mypackage.egg-info/top_level.txt
writing dependency_links to pip-egg-info/mypackage.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
Downloading/unpacking myprivatepackage (from mypackage==0.5.1)
Could not fetch URL https://pypi.python.org/simple/myprivatepackage/: HTTP Error 404: Not Found (myprivatepackage does not have any releases)
Will skip URL https://pypi.python.org/simple/myprivatepackage/ when looking for download links for myprivatepackage (from mypackage==0.5.1)
Could not fetch URL https://pypi.python.org/simple/myprivatepackage/: HTTP Error 404: Not Found (myprivatepackage does not have any releases)
Will skip URL https://pypi.python.org/simple/myprivatepackage/ when looking for download links for myprivatepackage (from mypackage==0.5.1)
Could not find any downloads that satisfy the requirement myprivatepackage (from mypackage==0.5.1)
Cleaning up...
Tôi đang thiếu gì?
Cảm ơn bạn rất nhiều!
Tôi đã sửa nó! Sai lầm của tôi là, như bạn đã chỉ ra, tôi cần thêm URL '' "http://127.0.0.1:8000/pypi/" '' vào '' dependency_links''. ** Cảnh báo **: nó cần phải là '' "http://127.0.0.1:8000/pypi/" '' và không phải '' "http://127.0.0.1:8000/pypi" '', như sau đó trả lại 404. –
chụp đẹp! cám ơn –