-
-
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
extras_require
in setup.py is not correctly evaluated
#4309
Comments
@frostming why is this tagged as "Vendored Dependencies"? |
Hello, any update on this issue? I'm really curious on what kind of parsing is done for this to fail. |
Would also be great to get an update on this issue; it makes it really annoying to use Pipenv to install from setup.py. |
I've just encountered this with a slight different minimal example: Minimal example that pipenv can install with
Update to make minimal example break when running
|
Can this be rechecked with |
The current version is two years old and is causing some of our packages installation to fail with messages such as: Installing dependencies from Pipfile.lock (63c834)... error in <somepackage> setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers. With the relevant section in said package: extras_require={ "Flask": ["Flask"], "dev": [ "pytest", "pytest-flakes", "pytest-helpers-namespace", ], }, There is no clear violation of the expected format, however the package is installed from a Git source. That's all I've gathered at this point and I can't find a clear fix but this issue: pypa/pipenv#4309 Upgrading the pipenv version does fix the problem, so upgrade to the latest possible version and roll with it.
It looks like See also #1746 |
Can you elaborate on your answer?
When I generate my |
$ pipenv install -e '.[dev,test]' resulting
I don't know if this works with |
I have found out that it works if you add it to |
Issue description
When using variables with
extras_require
insetup.py
, pipenv fails to resolve dependencies.Here's a minimal reproducible example:
Expected result
Running
pipenv install "-e .[dev]"
should complete.Actual result
See verbose output here https://pastebin.com/DY83M1fL
Steps to replicate
See above.
Note
When not using variables (and using the commented line
extras_require = {"dev": ["requests"]}
instead of the other one), pipenv runs successfully.$ pipenv --support
Pipenv version:
'2020.6.2'
Python installations found:
3.7.5
:<PATH>/bin/python3
3.7.5
:<PATH>/bin/python3
3.7.5
:/usr/bin/python3.7
3.7.5
:/usr/bin/python3
3.7.5
:/usr/bin/python3.7m
3.7.5
:/bin/python3.7
3.7.5
:/bin/python3
3.7.5
:/bin/python3.7m
2.7.17
:/usr/bin/python2.7
2.7.17
:/usr/bin/python2
2.7.17
:/bin/python2.7
2.7.17
:/bin/python2
PEP 508 Information:
System environment variables:
ANDROID_HOME
CLUTTER_BACKEND
COLORTERM
DBUS_SESSION_BUS_ADDRESS
DEFAULTS_PATH
DESKTOP_SESSION
DISPLAY
EDITOR
GDMSESSION
GDM_LANG
GPG_AGENT_INFO
GREP_COLORS
GTK_OVERLAY_SCROLLING
HOME
JAVA_HOME
JDK_HOME
LANG
LANGUAGE
LC_ADDRESS
LC_IDENTIFICATION
LC_MEASUREMENT
LC_MONETARY
LC_NAME
LC_NUMERIC
LC_PAPER
LC_TELEPHONE
LC_TIME
LESS
LESSOPEN
LESS_TERMCAP_mb
LESS_TERMCAP_md
LESS_TERMCAP_me
LESS_TERMCAP_se
LESS_TERMCAP_so
LESS_TERMCAP_ue
LESS_TERMCAP_us
LOGNAME
LS_COLORS
MANDATORY_PATH
NEXUS_PASSWORD
NEXUS_USERNAME
OLDPWD
PAGER
PAPERSIZE
PATH
PWD
PYTHONSTARTUP
QT_QPA_PLATFORMTHEME
SESSION_MANAGER
SHELL
SHLVL
SSH_AGENT_PID
SSH_AUTH_SOCK
TERM
TERMINATOR_DBUS_NAME
TERMINATOR_DBUS_PATH
TERMINATOR_UUID
TMPDIR
TMUX
TMUX_PANE
USER
VISUAL
VTE_VERSION
XAUTHORITY
XDG_CONFIG_DIRS
XDG_CURRENT_DESKTOP
XDG_DATA_DIRS
XDG_GREETER_DATA_DIR
XDG_MENU_PREFIX
XDG_RUNTIME_DIR
XDG_SEAT
XDG_SEAT_PATH
XDG_SESSION_CLASS
XDG_SESSION_DESKTOP
XDG_SESSION_ID
XDG_SESSION_PATH
XDG_SESSION_TYPE
XDG_VTNR
_
PS1
VIRTUAL_ENV
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONDONTWRITEBYTECODE
PIP_SHIMS_BASE_MODULE
PIP_PYTHON_PATH
PYTHONFINDER_IGNORE_UNSUPPORTED
Pipenv–specific environment variables:
Debug–specific environment variables:
Contents of
Pipfile
:The text was updated successfully, but these errors were encountered: