-
-
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 update <pkg> updates all packages and not just the selected #2665
Comments
Merging into #2412 (different command but basically the same thing sematically). |
I'm not really sure why this is closed as the issue still isn't fixed with either this issue or #2412. With the most recent version of pipenv I have no way of selectively upgrading packages. I can either update them all at once or none at all. :/ Another thing: Running edit: removed outbursty language. |
Doesn't work for me either with version |
Please avoid language like this. If you or your company need this feature we will happily review your pull request. Telling us our tool is pointless because it doesn’t do one thing you want, on the other hand, is a bit rude and also makes us less likely to want to work with you. Its a small thing but it matters. We are well aware of this limitation of this subcommand. It is complicated and our volunteer maintainer team of two people simply hasn’t gotten to this yet. I also feel the pain of this problem regularly, but honestly I haven’t had time to fix it so it remains broken. |
You are absolutely right and I edited my post. Not sure what happened there, my apologies! |
I think description of Since it updates all dependencies maybe it is worth renaming it to |
Just got hit by this. What is the recommended way to update one single package to its latest version? Even |
Same question here... any help on that? |
While we are waiting for this to be fixed / implemented in pipenv, here is my very manual workaround:
|
This is motivated by the issues around pipenv always upgrading every dependency whenever you touch any dependency. (See pypa/pipenv#2665 and pypa/pipenv#2412)
This is motivated by the issues around pipenv always upgrading every dependency whenever you touch any dependency. (See pypa/pipenv#2665 and pypa/pipenv#2412)
Any changes on this? Absolutely tired of updating of all packages instead of one specified... Hear the people's pain and please fix this bug, it really frustrates: in our company we have to manually delete the package, run lock with --keep-outdated, return the package, and finally run lock again ;_; |
So it's not going to be fixed, or why closed ? |
I don't think anyone should expect this to be fixed in the near (far?) future unless you attempt to fix it yourself. I did but gave up knee-deep in a spaghetti bucket of unclear intentions. Edit: absolutely not meant as offence towards the authors |
this works now I guess:
I tried it and it didn't update anything, maybe that meant to update if unlocked or something, can you try it now with latest ? |
Version |
This was an oversight that should have been part of "Switch to new-style env vars for REDCap API credentials" (e5e78be). It happened because I tested those changes by using a different ID3C install instead of the Pipenv-one managed here. It was near impossible to get Pipenv to cooperate in just upgrading ID3C without upgrading a ton of other stuff (like Datasette) that I don't want to vette right now.¹ These changes were the result of `pipenv lock --keep-outdated`. They don't touch any of our existing deps except ID3C, but I'm also pretty sure this is still not a minimal upgrade set: some of these newly added transitive deps, like sqlite-fts4, are clearly for newer Datasette versions, even though Datasette itself is not upgraded. Hopefully my PRs for ditching Pipenv in favor of pip-tools will merge soon and this will be moot anyway. ¹ pypa/pipenv#2665
I posted my manual workaround in #2412, but c/p-ing here: Still an issue in pipenv After losing a bunch of time to pipenv today, here's my workaround:
|
Following instructions from pypa/pipenv#2665 (comment) pypa/pipenv#2665 (comment)
I used to use and like Pipenv but no longer think it’s viable - the project is in maintenance mode and has some serious unfixed issues ([link](pypa/pipenv#2665), [link](pypa/pipenv#2412)) which have been “fixed” by removing fundamental features since the dev team was [unable to figure out](pypa/pipenv#4988) what was going on in the codebase. Other dev teams are also [abandoning](log2timeline/dftimewolf#636) this package manager. Poetry offers some significant advantages such as compatibility with the pyproject.toml standard, the ability to upgrade a single dependency, and the ability to publish packages.
Issue description
When I have more than one outdated packages in Pipfile and run pipenv update package-name all outdated packages are updated.
Expected result
I only expect the selected package and its dependencies to be updated.
Actual result
$` pipenv update --outdated
Package 'jsonpickle' out-of-date: '==0.9.5' installed, '==0.9.6' available.
Package 'requests' out-of-date: '==2.19.0' installed, '==2.19.1' available.
$ pipenv update jsonpickle
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (15aa44)!
Installing dependencies from Pipfile.lock (15aa44)...
🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 6/6 — 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
All dependencies are now up-to-date!
$ pipenv update --outdated
$
both jsonpickle and requests where updated
Steps to replicate
$ pipenv install jsonpickle==0.9.5
$ pipenv install requests==2.19.0
update Pipfile from:
$ cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "==2.19.0"
jsonpickle = "==0.9.5"
[dev-packages]
[requires]
python_version = "3.6"
to:
$ cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = ""
jsonpickle = ""
[dev-packages]
[requires]
python_version = "3.6"
update jsonpickle:
$ pipenv update --outdated
Package 'jsonpickle' out-of-date: '==0.9.5' installed, '==0.9.6' available.
Package 'requests' out-of-date: '==2.19.0' installed, '==2.19.1' available.
$ pipenv update jsonpickle
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (15aa44)!
Installing dependencies from Pipfile.lock (15aa44)...
🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 6/6 — 00:00:01
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
All dependencies are now up-to-date!
Both packages are updated.
$ pipenv --support
Pipenv version:
'2018.7.1'
Pipenv location:
'/home/darwin/.pyenv/versions/3.6.4/lib/python3.6/site-packages/pipenv'
Python location:
'/home/darwin/.pyenv/versions/3.6.4/bin/python3.6'
Other Python installations in
PATH
:2.7
:/usr/bin/python2.7
2.7
:/usr/bin/python2.7
3.5
:/usr/bin/python3.5m
3.5
:/usr/bin/python3.5
3.6
:/home/darwin/.pyenv/versions/3.6.4/bin/python3.6m
3.6
:/home/darwin/.pyenv/versions/3.6.4/bin/python3.6
3.6
:/home/darwin/.pyenv/shims/python3.6
3.6
:/home/darwin/.pyenv/shims/python3.6
3.6
:/home/darwin/.pyenv/shims/python3.6
3.6.4
:/home/darwin/.pyenv/versions/3.6.4/bin/python
3.6.4
:/home/darwin/.pyenv/shims/python
3.6.4
:/home/darwin/.pyenv/shims/python
3.6.4
:/home/darwin/.pyenv/shims/python
2.7.12
:/usr/bin/python
2.7.12
:/usr/bin/python2
3.6.4
:/home/darwin/.pyenv/versions/3.6.4/bin/python3
3.6.4
:/home/darwin/.pyenv/shims/python3
3.6.4
:/home/darwin/.pyenv/shims/python3
3.6.4
:/home/darwin/.pyenv/shims/python3
3.5.2
:/usr/bin/python3
PEP 508 Information:
System environment variables:
LC_PAPER
XDG_VTNR
XDG_SESSION_ID
LC_ADDRESS
LC_MONETARY
CLUTTER_IM_MODULE
XDG_GREETER_DATA_DIR
SESSION
GPG_AGENT_INFO
PYENV_ROOT
VTE_VERSION
SHELL
TERM
XDG_MENU_PREFIX
PIPENV_VENV_IN_PROJECT
QT_LINUX_ACCESSIBILITY_ALWAYS_ON
WINDOWID
LC_NUMERIC
UPSTART_SESSION
GNOME_KEYRING_CONTROL
GTK_MODULES
PYENV_VERSION
USER
LS_COLORS
LC_TELEPHONE
QT_ACCESSIBILITY
XDG_SESSION_PATH
XDG_SEAT_PATH
SSH_AUTH_SOCK
PYENV_DIR
SESSION_MANAGER
DEFAULTS_PATH
TMUX
XDG_CONFIG_DIRS
PATH
DESKTOP_SESSION
QT_QPA_PLATFORMTHEME
QT_IM_MODULE
EVENT_NOEPOLL
LC_IDENTIFICATION
XDG_SESSION_TYPE
JOB
PWD
XMODIFIERS
GNOME_KEYRING_PID
LANG
GDM_LANG
MANDATORY_PATH
LC_MEASUREMENT
PYENV_HOOK_PATH
IM_CONFIG_PHASE
COMPIZ_CONFIG_PROFILE
TMUX_PANE
GDMSESSION
SESSIONTYPE
GTK2_MODULES
PYENV_SHELL
HOME
SHLVL
XDG_SEAT
LANGUAGE
GNOME_DESKTOP_SESSION_ID
XDG_SESSION_DESKTOP
LOGNAME
DBUS_SESSION_BUS_ADDRESS
QT4_IM_MODULE
XDG_DATA_DIRS
LESSOPEN
INSTANCE
DISPLAY
XDG_RUNTIME_DIR
GTK_IM_MODULE
XDG_CURRENT_DESKTOP
LC_TIME
LESSCLOSE
XAUTHORITY
LC_NAME
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH
Pipenv–specific environment variables:
PIPENV_VENV_IN_PROJECT
:1
Debug–specific environment variables:
PATH
:/home/darwin/.pyenv/versions/3.6.4/bin:/home/darwin/.pyenv/libexec:/home/darwin/.pyenv/plugins/python-build/bin:/home/darwin/.pyenv/plugins/pyenv-virtualenv/bin:/home/darwin/.pyenv/plugins/py env-update/bin:/home/darwin/.pyenv/plugins/pyenv-installer/bin:/home/darwin/.pyenv/plugins/pyenv-doctor/bin:/home/darwin/.pyenv/shims:/home/darwin/.pyenv/bin:/home/darwin/.pyenv/shims:/home/darwin/.pyenv/ bin:/home/darwin/.pyenv/shims:/home/darwin/.pyenv/bin:/home/darwin/bin:/home/darwin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
SHELL
:/bin/bash
LANG
:en_US.UTF-8
PWD
:/home/darwin/pipenv_test
Contents of
Pipfile
('/home/darwin/pipenv_test/Pipfile'):Contents of
Pipfile.lock
('/home/darwin/pipenv_test/Pipfile.lock'):The text was updated successfully, but these errors were encountered: