Введение
Я хотел бы установить некоторые зависимости (local-package1
и local-package2
) в virtualenv с использованием Tox. Эти зависимости являются пакетами, которые существуют только в моем локальном индексе пакетов Python (внутри экземпляра Artifactory).
Попытка
Вот мой tox.ini
:
[tox]
envlist = py27
indexserver =
LOCAL = https://me:abc123@artifactory.example.com/api/pypi/pypi-local/simple
[testenv]
deps =
:LOCAL:local-package1
mock
pykwalify
:LOCAL:local-package2
xlrd
XlsxWriter
xlwt
yamllint
commands =
make.sh
Вот вывод из tox -v
:
using tox.ini: repo/tox.ini
using tox-3.7.0 from /usr/local/lib/python2.7/site-packages/tox/__init__.pyc
GLOB sdist-make: ~/repo/setup.py
~/repo$ /usr/local/opt/python@2/bin/python2.7 ~/repo/setup.py sdist --formats=zip --dist-dir ~/repo/.tox/dist >~/repo/.tox/log/tox-0.log
package .tmp/package/1/example-0.0.0.zip links to dist/example-0.0.0.zip (~/repo/.tox)
py27 cannot reuse: no previous config ~/repo/.tox/py27/.tox-config1
py27 create: ~/repo/.tox/py27
~/repo/.tox$ /usr/local/opt/python@2/bin/python2.7 -m virtualenv --python /usr/local/opt/python@2/bin/python2.7 py27 >~/repo/.tox/py27/log/py27-0.log
py27 installdeps: :LOCAL:local-package1, mock, pykwalify, :LOCAL:local-package2, xlrd, XlsxWriter, xlwt, yamllint
~/repo$ ~/repo/.tox/py27/bin/python -m pip install -i https://me:abc123@artifactory.example.com/api/pypi/pypi-local/simple local-package1 local-package2 >~/repo/.tox/py27/log/py27-1.log
И выполнение tail -f ~/repo/.tox/py27/log/py27-1.log
дает следующее:
actionid: py27
msg: getenv
cmdargs: 'repo/.tox/py27/bin/python -m pip install -i https://me:abc123@artifactory.example.com/api/pypi/pypi-local/simple local-package1 local-package2'
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Looking in indexes: https://me:****@artifactory.example.com/api/pypi/pypi-local/simple, https://artifactory.example.com/api/pypi/pypi-local/simple
Collecting local-package1
и кажется, что он висит бесконечно.
Если я запускаю команду:
repo/.tox/py27/bin/python -m pip install -i https://me:abc123@artifactory.example.com/api/pypi/pypi-local/simple local-package1 local-package2
за пределами virtualenv, я могу установить эти пакеты без проблем.
Вопрос
Как правильно установить зависимости с Tox, который включает аутентификацию в индексе пакетов Python?