У меня несколько модулей в одном репозитории. Теперь я хотел бы протестировать упаковку для каждого модуля индивидуально, поскольку они могут иметь зависимости друг от друга. К счастью, в документации я нашел параметр зависимости с использованием {distshare}/}
.
tox.ini:
[testenv]
deps =
pytest
{distshare}/pandas-ml-common-*.zip
Как только я запустил tox
, он установит локальный zip-архив, как и следовало ожидать. Но поскольку зависимость также указана в setup.py
, модуль заменяется более старой версией из pypi. И да, как вы уже догадались, это приводит к тому, что тесты не проходят. Как я могу избежать установки из pypi, если у меня установлена зависимость с использованием distshare?
stdout:
(.venv) $ tox
GLOB sdist-make: /pandas-ml-utils/setup.py
py37 recreate: .tox/pandas_ml_common/py37
py37 installdeps: pytest, .tox/distshare/pandas-ml-common-0.2.0.zip
py37 inst: .tox/pandas_ml_common/.tmp/package/1/pandas-ml-utils-0.2.0.zip
py37 installed: cachetools==4.1.1,...,pandas-ml-common==0.1.15,... <--- here it is again
РЕДАКТИРОВАТЬ: из setup.py:
packages=find_packages(),
install_requires=["pandas-ml-common", *open("requirements.txt").read().splitlines()],
extras_require={
"dev": open("dev-requirements.txt").read().splitlines(),
},
include_package_data=True,
В файле requirements.txt указаны только внешние зависимости, такие как numpy (все без версии atm).
pandas-ml-common==0.2.0
вне диапазона версий дляpandas-ml-utils-0.2.0
? Может показатьsetup.py
файл? - person sinoroc   schedule 02.10.2020