Pipenv does not report failed installs of packages with HashErrors when editable VCS Dependencies is used. #3762
Labels
Status: Awaiting Update ⏳
This issue requires more information before assistance can be provided.
Issue description
This is a two-fold problem:
ignore_hashes=True
) problem this will also pass as expected.Bug
I believe the install is failing because pip is failing to report the error through stdout / stderr and is only visible when pip uses the
—verbose
option. Otherwise it’s reported as an “ERROR” from pip which states:ERROR: In --require-hashes mode, all all requirements must have their versions pinned with ==. These do not: …
No exception is raised.. In verbose mode you can see the HashError exception but it’s only printed out.
For the purposes of this we are looking at the
django_select2
package, but as evident by the reporting there are numerous packages which are reported in the Pipfile.lock as installed but are clearly not.If we dig into the
pip_install
method on pyenv/core.py we can see the problem:Expected result
If we set the
--verbose
mode this shows, but it never raises an exception. It also NEVER installs the package.Actual result
IN the non-verbose mode we only see this on stdout - No exception or issue is flagged.
Notes:
pipenv install
andpipenv sync
. This also doesn’t get solved via--sequential
flag.Related tickets:
#3586 #3614 #1356
Docker / Testcase demonstrating failure: https://github.com/pivotal-energy-solutions/pipenv-no-report-fail
This does nothing other than injects a modified pyenv/core.py so we can fake fix it and show the issues more clearly.
To see this bug fail simply do the following
To enable it to pass - change the BUILD_VERSION
FIG_BUG argument - It forces the build to remove the hash args from the requirements.txt file generated in
core.py
line 1321.$ pipenv --support
Pipenv version:
'2018.11.26'
Pipenv location:
'/usr/lib/python2.7/site-packages/pipenv'
Python location:
'/usr/bin/python2'
Python installations found:
2.7.5
:/usr/bin/python2.7
PEP 508 Information:
System environment variables:
LANG
BUILD_DATE
APP_PASSWORD
PIP_DISABLE_PIP_VERSION_CHECK
SHLVL
BUG_FIX
HOSTNAME
PIPENV_VENV_IN_PROJECT
LABEL
PYTHONFINDER_IGNORE_UNSUPPORTED
PWD
PYTHONDONTWRITEBYTECODE
PIP_SHIMS_BASE_MODULE
LC_ALL
BUILD_VERSION
PATH
PIP_PYTHON_PATH
HOME
FIX_BUG
_
Pipenv–specific environment variables:
PIPENV_VENV_IN_PROJECT
:1
Debug–specific environment variables:
PATH
:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG
:en_US.UTF-8
PWD
:/data/app/test
Contents of
Pipfile
('/data/app/test/Pipfile'):Contents of
Pipfile.lock
('/data/app/test/Pipfile.lock'):The text was updated successfully, but these errors were encountered: