Я пытаюсь написать установочный файл setup.py
для частного проекта, который имеет как государственные, так и частные зависимости. Публичные размещаются на PyPI, а частные - на сервере с simplepypi.Как установить пакеты, размещенные в приватном PyPI, используя setup.py?
Я бы хотел, чтобы как государственные, так и частные зависимости были разрешены и извлечены во время установки.
Таким образом, я добавил свою зависимость в 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'],
...
)
Я строй пакет тарболла с помощью команды python setup.py sdist
и установить его в активированном virtualenv с использованием pip install --verbose path/to/tarball.tar.gz
.
Тем не менее, строки журнала протокола не упоминают мой частный сервер PyPI в любом месте, и https://pypi.python.org/simple/, кажется, был запрошен дважды.
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...
Что мне не хватает?
спасибо!
Я исправил его! Моя ошибка заключалась в том, что, как вы указали, мне нужно было добавить URL '' "http://127.0.0.1:8000/pypi/" '' to 'dependency_links''. ** Предупреждение **: оно должно быть '' "http://127.0.0.1:8000/pypi/" '', а не '' "http://127.0.0.1:8000/pypi" '', поскольку последний возвращает 404. –
хорошая стрелялка! спасибо –