-
-
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
--selective-upgrade does not update hashes in Pipfile.lock #4626
Comments
I see this behavior too, with simply a $ pipenv --supportPipenv version: Pipenv location: Python location: Python installations found:
PEP 508 Information:
|
I got still the same problem with pipenv version 2022.1.8.
|
I was seeing a similar behaviour to what @jnsnow reported (i.e with Since there's no fix as of yet, my workaround was simply just deleting from the Pipfile.lock the block(s) of the package(s) that you actually wanna update. Seems when you run Disclaimer: I did not delete the blocks of their transitive dependencies in the Pipfile.lock, and they weren't changed after I ran Anyway, hope this helps. |
Sorry I haven't gotten back around to this yet, but this is really useful feedback. I am not sure that dropping those flags is going to make everyone happy, but I do know that the implementations of them are flawed, and its essentially pretty challenging to support such a feature. I personally think correct usage should be to set the specifiers in |
As long as dropping support does not entail removing the feature altogether. It is a pretty useful feature honestly when all your package versions are pinned, so I'd rather it be kept unsupported, than entirely removed. Anyway, I'll leave the contribution guidelines here in case anyone decides to work on it: |
My team has run into this a few times now when trying to upgrade only one package using This issue has caused us enough problems that we are considering moving away from |
@yodaldevoid I believe the issue is that |
@matteius If I understand correctly, you are suggesting that we pin dependencies in our Pipfile rather than relying on the pined versions in Pipfile.lock in conjunction with |
@yodaldevoid I am suggesting not to Pin all of your dependencies in your Pipfile, but rather figure out which ones are the reason why you are using The only reason I can see people are using this and keep-outdated, is they have things in the past that upgraded when locking the whole package group, that they feared are going to get changed, but this is due to not understanding what those things are and creating reasonably specifiers in the Pipfile. Another possible work around is move sensitive dependencies you don't want upgraded into their own package category and when you lock you exclude that category from being locked, but I still think Pipfile specifiers for top level dependencies make the most sense. |
|
Issue description
If I update a package with --selective-upgrade, I can not install the update with sync.
Steps to replicate
pipenv install 'django==2.2.18'
pipenv install --selective-upgrade 'django==2.2.19'
pipenv --rm
pipenv sync
Expected result
pipenv sync should install all packages from Pipfile.lock.
Actual result
$ pipenv --support
Pipenv version:
'2020.11.15'
Pipenv location:
'/home/mogoh/.local/lib/python3.8/site-packages/pipenv'
Python location:
'/usr/bin/python3'
Python installations found:
3.8.6
:/usr/bin/python3.8
3.8.6
:/usr/bin/python3
PEP 508 Information:
System environment variables:
SHELL
SESSION_MANAGER
WINDOWID
QT_ACCESSIBILITY
KDED_STARTED_BY_KDEINIT
COLORTERM
XDG_CONFIG_DIRS
XDG_SESSION_PATH
NVM_INC
GTK_IM_MODULE
LANGUAGE
QT4_IM_MODULE
MANDATORY_PATH
JAVA_HOME
SSH_AUTH_SOCK
SHELL_SESSION_ID
XMODIFIERS
DESKTOP_SESSION
SSH_AGENT_PID
GTK_RC_FILES
XCURSOR_SIZE
XDG_SEAT
PWD
XDG_SESSION_DESKTOP
LOGNAME
XDG_SESSION_TYPE
GPG_AGENT_INFO
XAUTHORITY
VIRTUALENVWRAPPER_SCRIPT
GTK2_RC_FILES
HOME
LANG
LS_COLORS
XDG_CURRENT_DESKTOP
KONSOLE_DBUS_SERVICE
VIRTUALENVWRAPPER_WORKON_CD
KONSOLE_DBUS_SESSION
DENO_INSTALL
PROFILEHOME
XDG_SEAT_PATH
KONSOLE_VERSION
CLUTTER_IM_MODULE
KDE_SESSION_UID
NVM_DIR
WORKON_HOME
LESSCLOSE
XDG_SESSION_CLASS
PYTHONPATH
TERM
DEFAULTS_PATH
LESSOPEN
USER
COLORFGBG
KDE_SESSION_VERSION
PAM_KWALLET5_LOGIN
VIRTUALENVWRAPPER_PROJECT_FILENAME
DISPLAY
SHLVL
NVM_CD_FLAGS
QT_IM_MODULE
XDG_VTNR
XDG_SESSION_ID
XDG_RUNTIME_DIR
ELECTRON_TRASH
QT_AUTO_SCREEN_SCALE_FACTOR
XCURSOR_THEME
XDG_DATA_DIRS
KDE_FULL_SESSION
PATH
VIRTUALENVWRAPPER_HOOK_DIR
DBUS_SESSION_BUS_ADDRESS
KDE_APPLICATIONS_AS_SCOPE
NVM_BIN
OLDPWD
KONSOLE_DBUS_WINDOW
_
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
:/home/mogoh/.yarn/bin:/home/mogoh/.deno/bin:/home/mogoh/.nvm/versions/node/v15.8.0/bin:/home/mogoh/.gem/ruby/2.5.0/bin:/home/mogoh/.cargo/bin:/home/mogoh/.local/bin:/home/mogoh/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
SHELL
:/bin/bash
LANG
:de_DE.UTF-8
PWD
:/home/mogoh/temp
Contents of
Pipfile
('/home/mogoh/temp/Pipfile'):Contents of
Pipfile.lock
('/home/mogoh/temp/Pipfile.lock'):The text was updated successfully, but these errors were encountered: