pipenv update --outdated lists nothing

Created on 30 Apr 2018  路  5Comments  路  Source: pypa/pipenv

pipenv update --outdated lists nothing even though updates exist.

$ python -m pipenv.help output

Pipenv version: '11.10.1'

Pipenv location: '/home/florian/.local/venvs/pipenv/lib/python3.5/site-packages/pipenv'

Python location: '/home/florian/.local/venvs/pipenv/bin/python'

Other Python installations in PATH:

  • 2.5: /usr/local/bin/python2.5
  • 2.5: /usr/local/bin/python2.5
  • 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: /usr/bin/python3.6m
  • 3.6: /usr/bin/python3.6

  • 2.7.15: /usr/bin/python

  • 2.7.15: /usr/bin/python2
  • 3.6.5: /usr/bin/python3

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.5.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.15.0-3-amd64',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP Debian 4.15.17-1 (2018-04-19)',
 'python_full_version': '3.5.4',
 'python_version': '3.5',
 'sys_platform': 'linux'}

System environment variables:

  • XDG_VTNR
  • LC_MONETARY
  • GDMSESSION
  • EDITOR
  • XDG_SESSION_ID
  • VTE_VERSION
  • GIO_LAUNCHED_DESKTOP_FILE_PID
  • COLORTERM
  • GTK_MODULES
  • GIO_LAUNCHED_DESKTOP_FILE
  • XDG_SESSION_TYPE
  • LC_CTYPE
  • XDG_DATA_DIRS
  • GJS_DEBUG_OUTPUT
  • USER
  • PAGER
  • PROJECT_HOME
  • SSH_AUTH_SOCK
  • SHELL
  • LC_TIME
  • TERMINATOR_DBUS_PATH
  • XDG_SESSION_COOKIE
  • XDG_CURRENT_DESKTOP
  • XDG_SESSION_DESKTOP
  • LANG
  • WINDOWPATH
  • OLDPWD
  • XDG_SEAT
  • SSH_AGENT_PID
  • PYTHONDONTWRITEBYTECODE
  • _
  • QT_ACCESSIBILITY
  • DISPLAY
  • DBUS_SESSION_BUS_ADDRESS
  • TERMINATOR_UUID
  • GJS_DEBUG_TOPICS
  • LSCOLORS
  • PEX_INHERIT_PATH
  • LESS
  • XDG_MENU_PREFIX
  • LC_MEASUREMENT
  • S_COLORS
  • ZSH
  • ANSIBLE_NOCOWS
  • LC_PAPER
  • LS_COLORS
  • DESKTOP_SESSION
  • SESSION_MANAGER
  • PWD
  • LOGNAME
  • QT_SELECT
  • TERMINATOR_DBUS_NAME
  • HOME
  • XDG_RUNTIME_DIR
  • XAUTHORITY
  • LC_NUMERIC
  • ELECTRON_TRASH
  • GDM_LANG
  • SHLVL
  • GPG_AGENT_INFO
  • PIP_PYTHON_PATH
  • USERNAME
  • GNOME_DESKTOP_SESSION_ID
  • TERM
  • PATH

Pipenv鈥搒pecific environment variables:

Debug鈥搒pecific environment variables:

  • PATH: /home/florian/.yarn/bin:/usr/local/heroku/bin:/home/florian/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
  • SHELL: /usr/bin/zsh
  • EDITOR: vim
  • LANG: en_US.utf8
  • PWD: /home/florian/.local/venvs/pipenv

Expected result

I'd expect Django to be an update given the following pipfile and lock file:

[[source]]
name = "pypi"
verify_ssl = true
url = "https://pypi.org/simple"

[packages]
django = "*"

[dev-packages]

[requires]
python_version = "3.6"
{
    "_meta": {
        "hash": {
            "sha256": "68309cd71a258c30a39567fce09a09ad5c4ff0bdc85b6fba22b47598c985c883"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.6"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "django": {
            "hashes": [
                "sha256:0120b3b60760fb0617848b58aaa9702c0bf963320ed472f0879c5c55ab75b64a",
                "sha256:b6f3b864944276b4fd1d099952112696558f78b77b39188ac92b6c5e80152c30"
            ],
            "index": "pypi",
            "version": "==1.11"
        },
        "pytz": {
            "hashes": [
                "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555",
                "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749"
            ],
            "version": "==2018.4"
        }
    },
    "develop": {}
}
Actual result

pipenv update --outdated does nothing; pipenv run pip list -o lists Django as outdated:

Package Version Latest Type 
------- ------- ------ -----
Django  1.11    2.0.4  wheel

All 5 comments

Thanks for reporting, I am preparing a PR to fix it.

I'm having this issue as well.

I'm on "macOS 10.13.6", and "pipenv, version 2018.7.1".

When I activate my pipenv, I can see "Python 3.6.6" and "pip 18.0"

When I run pipenv update --outdated, it loads for a long time and then gives no output.

Have you ever considered the possibility it outputs nothing because there鈥檚 nothing outdated??

Oh. In 10 years of Python development I don't think I had one day in my life where a requirements.txt would have been 100% up to date, and the Pipfile that I have at the moment has 100+ dependencies, so no, I actually did not consider that possibility and you are a patient genious for even thinking about this possibility, thank you :)

However, I now learned that pretty much all versions in my Pipfile are pinned like this: appnope = "==0.1.0"

And someone just told me that if I pin a version, then --outdated will basically ignore if there are new versions upstream.

So I replaced one of my packages with = "*" in the Pipfile and ran --outdated again and now the command does indeed show me some output.

I think I still don't fully understand how a typical workflow (local development and deployment) with Pipenv is supposed to work. I need to read the docs again and play around with it. I must say that the way --outdated works at the moment is very confusing. I would expect that it just tells me "hey, you have A in your venv, you have B in your pipfile, you have C in your lockfile and there is D available on Pypi".

Run pipenv graph and find the top level dependencies. Leave only those in your pipfile. Unpin the ones you don鈥檛 need pinned. Then you should get newer versions of most packages

Was this page helpful?
0 / 5 - 0 ratings