When installing pytest via an imported requirements.txt on Python2, the extra requirement of funcsigs is not installed.
funcsigs should be installed
funcsigs is not installed
cd $(mktemp -d)
echo pytest > requirements.txt
pipenv --two install -r requirements.txt
When running pipenv graph
the output shows that funcsigs is a dependency, but no version is installed: funcsigs [required: Any, installed: ?]
.
Note that using the command pipenv --two install pytest
to install pytest directly instead of via a requirements.txt file installs funcsigs as expected. The dependency is specified in pytest here.
Hi @davehunt thanks for the report. This issue is related to dependency resolution across python versions when pipenv is installed using one version of python but your virtualenv is created using another. Usually this works just fine, but occasionally when pipenv is installed with, say, python3, the resolver can have trouble resolving python2 dependencies when they are specified in extras_require
. The setuptools packaging documentation recommends using this syntax instead:
install_requires=[
'enum34;python_version<"3.4"',
]
I would recommend submitting a PR to pytest to fix this in order for the pip-tools resolver to pick it up, but the rest of the resolver issues are being tracked over in #857 so I'm going to go ahead and close this out for now. Thanks for the detailed report and the link to the relevant setup.py
and thanks for using pipenv!
I just submitted a PR for Pytest 馃
Most helpful comment
I just submitted a PR for Pytest 馃