-
-
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 install 'foo<=4.5'" fails because of quoting issue #2998
Comments
Apparently, it was broken in
|
Ah, yet another consequence of #2956... |
@techalchemy if I had to guess I would have pointed to this: #2563, but I'm not a frequent visitor in these parts. |
@immerrr no worries I'm just using that one as my catchall for normalization problems at the moment |
cc'ing @uranusjr as he authored #2563. looks like cross-platform path splitting/quoting is still an open problem: https://bugs.python.org/issue1724822 |
yes, i understand. i'm saying that IIUC this issue is not about normalization, it's about cmdline quoting |
- Fixes #2998 Signed-off-by: Dan Ryan <[email protected]>
Yeah it's a bit of both tbh, I'm pretty sure the normalization issue may be related This is because we are parsing input as arguments now which reduces the amount of escaping done by default. Thank you tons for catching and reporting before we cut the release! |
Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
Check the diagnose documentation for common issues before posting! We may close your issue if it is very similar to one of them. Please be considerate, or be on your way.
Make sure to mention your debugging experience if the documented solution failed.
Issue description
Looks like there's a problem with argument quoting, because pipenv somehow ends up with unquoted
<=4.5
in a command line to be passed tosh
verbatim, and then the shell interprets it as a request to take the file named=4.5
as standard input and naturally fails.Expected result
I would expect Pipenv to properly select a version that is less or equal to 4.5, because pip has no problems installing a package spec like this:
Actual result
Steps to replicate
$ pipenv --support
Pipenv version:
'2018.10.10.dev0'
Pipenv location:
'/home/immerrr/src/pipenv/pipenv'
Python location:
'/mnt/extraspace/virtualenvs/pipenv-temp-3yvsdFj0/bin/python3.6m'
Python installations found:
3.7.0
:/home/immerrr/src/pyenv/versions/3.7.0/bin/python3.7m
3.7.0
:/home/immerrr/src/pyenv/versions/3.7.0/bin/python3.7
3.6.6
:/mnt/extraspace/virtualenvs/pipenv-temp-3yvsdFj0/bin/python3.6m
3.6.6
:/home/immerrr/src/pyenv/versions/3.6.6/bin/python3.6
3.6.6
:/home/immerrr/src/pyenv/versions/3.6.6/bin/python3.6m
3.6.4
:/home/immerrr/src/pyenv/versions/3.6.4/bin/python3.6
3.6.4
:/home/immerrr/src/pyenv/versions/3.6.4/bin/python3.6m
3.5.2
:/usr/bin/python3.5m
3.5.2
:/usr/bin/python3.5
2.7.12
:/usr/bin/python2.7
PEP 508 Information:
System environment variables:
LC_PAPER
XDG_VTNR
XDG_SESSION_ID
CLUTTER_IM_MODULE
TERMINATOR_UUID
XDG_GREETER_DATA_DIR
GIO_LAUNCHED_DESKTOP_FILE_PID
SESSION
PYENV_ROOT
GPG_AGENT_INFO
PIP_PYTHON_PATH
SHELL
XDG_MENU_PREFIX
VTE_VERSION
TERM
HISTSIZE
DERBY_HOME
QT_LINUX_ACCESSIBILITY_ALWAYS_ON
GNOME_KEYRING_CONTROL
UPSTART_SESSION
GTK_MODULES
USER
HISTFILESIZE
TERMINATOR_DBUS_PATH
QT_ACCESSIBILITY
LS_COLORS
XDG_SESSION_PATH
UNITY_HAS_3D_SUPPORT
XDG_SEAT_PATH
SSH_AUTH_SOCK
DEFAULTS_PATH
VIRTUAL_ENV
WORKON_HOME
GIO_LAUNCHED_DESKTOP_FILE
UNITY_DEFAULT_PROFILE
XDG_CONFIG_DIRS
PIPENV_ACTIVE
PATH
DESKTOP_SESSION
GPGKEY
QT_QPA_PLATFORMTHEME
QT_IM_MODULE
JOB
PWD
XDG_SESSION_TYPE
JAVA_HOME
XMODIFIERS
TERMINATOR_DBUS_NAME
EDITOR
LANG
GNOME_KEYRING_PID
MANDATORY_PATH
GDM_LANG
LC_MEASUREMENT
TZ
IM_CONFIG_PHASE
COMPIZ_CONFIG_PROFILE
PS1
PYTHONDONTWRITEBYTECODE
GDMSESSION
HISTCONTROL
GTK2_MODULES
SESSIONTYPE
IRIVERCP
XDG_SEAT
HOME
SHLVL
LANGUAGE
GNOME_DESKTOP_SESSION_ID
UPSTART_INSTANCE
PIP_SHIMS_BASE_MODULE
LOGNAME
XDG_SESSION_DESKTOP
UPSTART_EVENTS
COMPIZ_BIN_PATH
QT4_IM_MODULE
XDG_DATA_DIRS
J2SDKDIR
DBUS_SESSION_BUS_ADDRESS
LESSOPEN
UPSTART_JOB
INSTANCE
DISPLAY
XDG_RUNTIME_DIR
J2REDIR
GTK_IM_MODULE
XDG_CURRENT_DESKTOP
LC_TIME
LESSCLOSE
AIRFLOW_HOME
HISTFILE
HISTTIMEFORMAT
COLORTERM
XAUTHORITY
OLDPWD
_
Pipenv–specific environment variables:
PIPENV_ACTIVE
:1
Debug–specific environment variables:
PATH
:/mnt/extraspace/virtualenvs/pipenv-temp-3yvsdFj0/bin:/home/immerrr/.gem/ruby/2.3.0/bin:/home/immerrr/.cask/bin:/home/immerrr/platform-tools:/home/immerrr/bin:/home/immerrr/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/immerrr/.rvm/bin:/home/immerrr/src/pyenv/bin
SHELL
:/bin/bash
EDITOR
:emacs -nw -q -l ~/.emacs.d/lisp/mmr-minimal.el
LANG
:en_US.UTF-8
PWD
:/home/immerrr/pipenv-temp
VIRTUAL_ENV
:/mnt/extraspace/virtualenvs/pipenv-temp-3yvsdFj0
Contents of
Pipfile
('/home/immerrr/pipenv-temp/Pipfile'):Contents of
Pipfile.lock
('/home/immerrr/pipenv-temp/Pipfile.lock'):The text was updated successfully, but these errors were encountered: