question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Extras not locked for editable git packages

See original GitHub issue
Issue 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
  1. mkdir test-pipenv
  2. cd test-pipenv
  3. 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…
  1. 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:closed
  • Created 5 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
techalchemycommented, Aug 19, 2018

I’ll catch that update in my mass update of our vendored stuff before the release (should be soon)

0reactions
bryanforbescommented, Aug 19, 2018

Ok, sounds good. I’m chomping at the bit for a new release 😉.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Packaging Guide — Spack 0.20.0.dev0 documentation
Packaging Guide¶. This guide is intended for developers or administrators who want to package software so that Spack can install it.
Read more >
Optimize GitLab for large repositories
GIT_FETCH_EXTRA_FLAGS allows you to modify git fetch behavior by passing extra flags. For example, if your project contains a large number of tags...
Read more >
Flakes - NixOS Wiki
Nix Flakes are an upcoming feature of the Nix package manager. Introduction. Flakes allow you to specify your code's dependencies (e.g. remote Git...
Read more >
githooks Documentation - Git
The hook is allowed to edit the message file in place, and can be used to normalize ... This hook does not affect...
Read more >
Repositories - Composer
This will usually originate from a source code repository, such as git. ... Any requested package which does not exist MUST return a...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found