Extras not locked for editable git packages
See original GitHub issueIssue description
When adding editable git packages with extras
to a Pipfile
, the dependencies specified by the package’s extras_require
are not added to Pipfile.lock
. Extras are added for packages coming from pypi and from the file system.
Expected result
Dependencies from extras_require
and sub-dependencies are added to Pipfile.lock
Actual result
Dependencies from extras_require
and sub-dependencies are not added to Pipfile.lock
Steps to replicate
mkdir test-pipenv
cd test-pipenv
pipenv --python 3
Creating a virtualenv for this project…
Pipfile: /Users/bryan/Projects/test-pipenv/Pipfile
Using /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin/python3.7 (3.7.0) to create virtualenv…
⠏Running virtualenv with interpreter /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin/python3.7
Using base prefix '/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7'
/usr/local/lib/python3.7/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
New python executable in /Users/bryan/.local/share/virtualenvs/test-pipenv-pMYUstlA/bin/python3.7
Also creating executable in /Users/bryan/.local/share/virtualenvs/test-pipenv-pMYUstlA/bin/python
Installing setuptools, pip, wheel...done.
Virtualenv location: /Users/bryan/.local/share/virtualenvs/test-pipenv-pMYUstlA
Creating a Pipfile for this project…
pipenv install -e git+https://github.com/requests/requests#egg=requests[security]
Installing -e git+https://github.com/requests/requests#egg=requests[security]…
Obtaining requests[security] from git+https://github.com/requests/requests#egg=requests[security]
Cloning https://github.com/requests/requests to /Users/bryan/.local/share/virtualenvs/test-pipenv-pMYUstlA/src/requests
Collecting chardet<3.1.0,>=3.0.2 (from requests[security])
Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting idna<2.8,>=2.5 (from requests[security])
Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting urllib3<1.24,>=1.21.1 (from requests[security])
Using cached https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests[security])
Using cached https://files.pythonhosted.org/packages/7c/e6/92ad559b7192d846975fc916b65f667c7b8c3a32bea7372340bfe9a15fa5/certifi-2018.4.16-py2.py3-none-any.whl
Collecting pyOpenSSL>=0.14 (from requests[security])
Using cached https://files.pythonhosted.org/packages/96/af/9d29e6bd40823061aea2e0574ccb2fcf72bfd6130ce53d32773ec375458c/pyOpenSSL-18.0.0-py2.py3-none-any.whl
Collecting cryptography>=1.3.4 (from requests[security])
Using cached https://files.pythonhosted.org/packages/96/ba/15fa57d62f2c3eb907b50e7dd701181a47e3dce3fe365658f43ba677dd30/cryptography-2.3-cp34-abi3-macosx_10_6_intel.whl
Collecting six>=1.5.2 (from pyOpenSSL>=0.14->requests[security])
Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting asn1crypto>=0.21.0 (from cryptography>=1.3.4->requests[security])
Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl
Collecting cffi!=1.11.3,>=1.7 (from cryptography>=1.3.4->requests[security])
Using cached https://files.pythonhosted.org/packages/0b/ba/32835c9965d8a0090723e1d0b47373365525c4bd08c807b5efdc9fecbc99/cffi-1.11.5-cp37-cp37m-macosx_10_9_x86_64.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography>=1.3.4->requests[security])
Installing collected packages: chardet, idna, urllib3, certifi, asn1crypto, six, pycparser, cffi, cryptography, pyOpenSSL, requests
Running setup.py develop for requests
Successfully installed asn1crypto-0.24.0 certifi-2018.4.16 cffi-1.11.5 chardet-3.0.4 cryptography-2.3 idna-2.7 pyOpenSSL-18.0.0 pycparser-2.18 requests six-1.11.0 urllib3-1.23
Adding -e git+https://github.com/requests/requests#egg=requests[security] to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (2aa546)!
Installing dependencies from Pipfile.lock (2aa546)…
🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 5/5 — 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
$ pipenv --support
Pipenv version: '2018.7.1.dev0'
Pipenv location: '/usr/local/lib/python3.7/site-packages/pipenv'
Python location: '/usr/local/opt/python/bin/python3.7'
Python installations found:
3.7.0
:/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin/python3.7
3.7.0
:/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin/python3.7m
2.7.15
:/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/bin/python2.7
2.7.10
:/usr/bin/python
2.7.10
:/usr/bin/pythonw
2.7.10
:/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
PEP 508 Information:
{'implementation_name': 'cpython',
'implementation_version': '3.7.0',
'os_name': 'posix',
'platform_machine': 'x86_64',
'platform_python_implementation': 'CPython',
'platform_release': '17.6.0',
'platform_system': 'Darwin',
'platform_version': 'Darwin Kernel Version 17.6.0: Tue May 8 15:22:16 PDT '
'2018; root:xnu-4570.61.1~1/RELEASE_X86_64',
'python_full_version': '3.7.0',
'python_version': '3.7',
'sys_platform': 'darwin'}
System environment variables:
GREP_COLOR
MANPATH
LESS_TERMCAP_mb
TERM_PROGRAM
LESS_TERMCAP_md
NVM_CD_FLAGS
LESS_TERMCAP_me
TERM
SHELL
TMPDIR
Apple_PubSub_Socket_Render
TERM_PROGRAM_VERSION
TERM_SESSION_ID
LESS_TERMCAP_ue
USER
NVM_DIR
LS_COLORS
GREP_COLORS
SSH_AUTH_SOCK
__CF_USER_TEXT_ENCODING
PAGER
TMUX
LESS_TERMCAP_us
TERMINFO_DIRS
PATH
PWD
JENV_LOADED
HOMEBREW_GITHUB_API_TOKEN
EDITOR
LANG
ITERM_PROFILE
XPC_FLAGS
TMUX_PANE
XPC_SERVICE_NAME
SHLVL
HOME
COLORFGBG
ITERM_SESSION_ID
LOGNAME
LESS
VISUAL
LESS_TERMCAP_so
TMUX_PLUGIN_MANAGER_PATH
NVM_BIN
BROWSER
DISPLAY
SECURITYSESSIONID
P4CONFIG
LESS_TERMCAP_se
COLORTERM
OLDPWD
PROMPT_EOL_MARK
VIRTUAL_ENV_DISABLE_PROMPT
_
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/Users/bryan/.jenv/shims:/Users/bryan/.jenv/bin:/Users/bryan/bin:/Users/bryan/.dotfiles/bin:/Users/bryan/Projects/pebble/PebbleSDK-current/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/gnu-sed/libexec/gnubin:/Users/bryan/.cargo/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin:/usr/local/share/dotnet:/opt/X11/bin:/Users/bryan/.jenv/shims:/Users/bryan/.nvm/versions/node/v8.11.1/bin
SHELL
:/usr/local/bin/zsh
EDITOR
:vi
LANG
:en_US.UTF-8
PWD
:/Users/bryan/Projects/test-pipenv
Contents of Pipfile
(‘/Users/bryan/Projects/test-pipenv/Pipfile’):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = {extras = ["security"], editable = true, git = "https://github.com/requests/requests"}
[dev-packages]
[requires]
python_version = "3.7"
Contents of Pipfile.lock
(‘/Users/bryan/Projects/test-pipenv/Pipfile.lock’):
{
"_meta": {
"hash": {
"sha256": "b441ec5974e2df395db9732e60296508b91b7ecd7498fdbf915620e1e52aa546"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.7"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"certifi": {
"hashes": [
"sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
"sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
],
"version": "==2018.4.16"
},
"chardet": {
"hashes": [
"sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
],
"version": "==3.0.4"
},
"idna": {
"hashes": [
"sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e",
"sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
],
"version": "==2.7"
},
"requests": {
"editable": true,
"extras": [
"security"
],
"git": "https://github.com/requests/requests",
"ref": "c8f3add5ed31bbb82cb337435295200a3525920a"
},
"urllib3": {
"hashes": [
"sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf",
"sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5"
],
"markers": "python_version != '3.3.*' and python_version >= '2.6' and python_version != '3.0.*' and python_version < '4' and python_version != '3.1.*' and python_version != '3.2.*'",
"version": "==1.23"
}
},
"develop": {}
}
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (4 by maintainers)
I’ll catch that update in my mass update of our vendored stuff before the release (should be soon)
Ok, sounds good. I’m chomping at the bit for a new release 😉.