Локальный пакет pypi зависит от python-сервера
Я создал свой локальный сервер Pypi http://localhost:8080/simple
, Я загрузил пакеты flask-mongoengine
Мне нужно для моего проекта, но когда tox
стараться сделать pip install
что пакеты зависимости для nose
попробуйте скачать с pypi.python.org
Collecting flask-mongoengine==0.9.2 (from -r requirements.txt (line 14))
Downloading https://localhost:8080/packages/flask-mongoengine-0.9.2.tar.gz (112kB)
100% |████████████████████████████████| 112kB 26.8MB/s
Complete output from command python setup.py egg_info:
Download error on https://pypi.python.org/simple/nose/: [Errno 101] Network is unreachable -- Some packages may not be found!
Couldn't find index page for 'nose' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [Errno 101] Network is unreachable -- Some packages may not be found!
No local packages or working download links found for nose
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-n57wg0y0/flask-mongoengine/setup.py", line 74, in <module>
'Topic :: Software Development :: Libraries :: Python Modules'
File "/var/lib/jenkins/.pyenv/versions/3.5.2/lib/python3.5/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/setuptools/dist.py", line 315, in __init__
self.fetch_build_eggs(attrs['setup_requires'])
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/setuptools/dist.py", line 361, in fetch_build_eggs
replace_conflicting=True,
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 850, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1122, in best_match
return self.obtain(req, installer)
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1134, in obtain
return installer(requirement)
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/setuptools/dist.py", line 429, in fetch_build_egg
return cmd.easy_install(req)
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 659, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('nose')
мой pypi
сервер имеет nose
пакет, но кое-как, его не перенаправлен на это.
Попробовал первый ответ, выдает ошибку
Traceback (most recent call last):
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/pip/req/req_install.py", line 82, in __init__
req = Requirement(req)
File "/var/lib/jenkins/workspace/myproject/.tox/py35/lib/python3.5/site-packages/pip/_vendor/packaging/requirements.py", line 96, in __init__
requirement_string[e.loc:e.loc + 8]))
pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'[global]'"
ERROR: InvocationError: '/var/lib/jenkins/workspace/myproject/.tox/py35/bin/pip install -i http://localhost:8080 --trusted-host localhost:8080 -r requirements.txt'
1 ответ
Указать значение по умолчанию для указания на localhost? в $HOME/.pypirc
:
[distutils]
index-servers =
localpypi
[localpypi]
repository: http://localhost:8080/simple
username:<your_localpypi_username>
password:<your_localpypi_passwd>
Чуть дальше в requirements.txt
что-то подобное может работать вместо .pypirc
или, может быть, это понадобится в дополнении к:
# requirements.txt
--index-url http://localhost:8080/simple
--trusted-host localhost:8080
flask-mongoengine
И для $HOME/.config/pip/pip.conf
:
[global]
timeout = 1
index-url = http://localhost:8080/simple
trusted-host = localhost:8080
ах да это тоже возможно
также возможно:
python setup.py dist upload -r http://localhost:8080/simple
Если какие-либо зависимости требуются от pypi, то:
- PyPI локальный кеш для Jenkins/ локальных сборок
- Как создать локальный собственный индекс хранилища Pypi без зеркала?
Я путаюсь со всеми местами --index-url
а также --extra-index-url
может быть установлен, но мысль была установить URL-адрес индекса для Pypi, и для PIP тоже?