-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"pipenv lock --requirements" leaks output from git, making the result invalid, only the first time #3305
Comments
Wow that is incredibly frustrating. That is pip logging to standard output. |
They log literally everything else to standard error.... |
I see that the update tries to output the git commit hash as the checkout path instead of the branch name, and somewhere in there must be a |
It’s very indirect. It’s going to be in a super recent change in |
hmmm the specifics are super helpful here, because the output only happens when you clone a branch directly in pip. I have a fix for this but it just basically monkeypatches the defaults to suppress stdout in pip's command runner during vcs operations :| |
- Update gitignore entries for mypy config - Update release task to add version after bumping but before release - Fixes #3326 (going forward at least) - Split out patching from vendoring so it can be done as a separate step if needed - Update patches to account for updated packages - Fixes #3432 - Fixes #2757 - Fixes #3305 - Fixes #2914 - Fixes #3439 - Fixes #3422 - Fixes #3378 - Fixes #3376 - Fixes #3315 Signed-off-by: Dan Ryan <dan@danryan.co>
FYI, I'm actually planning on fixing this in pip soon across the board (I coincidentally just had my eye on it). I filed a preliminary PR here: pypa/pip#6154 |
Awesome, thanks @cjerdonek — I merged some changes to requirementslib to monkeypatch pip and capture stdout in the meantime |
still exists with version pipenv-2018.11.26 |
Issue description
One of my dependencies is in the format
"lib" = {ref = "branch-name", git = "https://url/to/repo.git"}
.I run
pipenv lock --requirements > requirements.txt
for the first time inside a docker container.Expected result
I get a valid requirements.txt
Actual result
See below
Steps to replicate
Inside container
Resultant requirements.txt (yes really):
And of course:
Workaround
I run
pipenv lock --requirements > /dev/null 2>&1
once before running the actual command.Please run
$ pipenv --support
, and paste the results here. Don't put backticks (`
) around it! The output already contains Markdown formatting.$ pipenv --support
Pipenv version:
'2018.11.26'
Pipenv location:
'/usr/local/lib/python3.6/site-packages/pipenv'
Python location:
'/usr/local/bin/python'
Python installations found:
3.6.7
:/usr/local/bin/python
3.6.7
:/usr/local/bin/python3.6m
3.5.3
:/usr/bin/python3
3.5.3
:/usr/bin/python3.5m
2.7.13
:/usr/bin/python2.7
PEP 508 Information:
System environment variables:
LANG
HOSTNAME
GPG_KEY
PWD
HOME
TERM
PYTHON_VERSION
SHLVL
PATH
PYTHON_PIP_VERSION
_
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONDONTWRITEBYTECODE
PIP_SHIMS_BASE_MODULE
PIP_PYTHON_PATH
PYTHONFINDER_IGNORE_UNSUPPORTED
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG
:C.UTF-8
PWD
:/
Contents of
Pipfile
('/Pipfile'):Contents of
Pipfile.lock
('/Pipfile.lock'):The text was updated successfully, but these errors were encountered: