pipenv does not use default python version under pyenv (2024)

Issue description

The pipenv documentation states this:

If you don’t specify a Python version on the command–line, either the [requires] python_full_version or python_version will be selected automatically, falling back to whatever your system’s default python installation is, at time of execution.

However with 2020.06.02 I’m seeing pipenv choose the most recent pyenv installed python rather than the one that’s current the default when I run pipenv install.

Expected result

Python version is 3.7.7 as set by .python-version via pyenv. I’ve verified that pipenv is installed and running from 3.7.7. I start a new project with pipenv install and I expect to see a virtual environment created with Python version 3.7.7.

artlogic@wardenclyffe:~/Code/random/pipenv-again$ python -VPython 3.7.7artlogic@wardenclyffe:~/Code/random/pipenv-again$ pipenv --support<details><summary>$ pipenv --support</summary>Pipenv version: `'2020.6.2'`Pipenv location: `'/home/artlogic/.pyenv/root/versions/3.7.7/lib/python3.7/site-packages/pipenv'`Python location: `'/home/artlogic/.pyenv/root/versions/3.7.7/bin/python3.7'`

Actual result

pipenv uses a different pyenv installed python to create the venv:

artlogic@wardenclyffe:~/Code/random/pipenv-again$ pipenv install -v requestsUsing python: NonePath to python: /home/artlogic/.pyenv/root/versions/3.8.2/bin/python3Creating a virtualenv for this project…Pipfile: /home/artlogic/Code/random/pipenv-again/PipfileUsing /home/artlogic/.pyenv/root/versions/3.8.2/bin/python3 (3.8.2) to create virtualenv…

Steps to replicate

  1. Install two versions of python using pyenv (3.7.7 and 3.8.3).
  2. Make a project directory and type: pyenv local 3.7.7 (verify you’re now using 3.7.7)
  3. Install pipenv: pip install pipenv
  4. Install a dependency: pipenv install requests
  5. Watch the virtualenv get created with 3.8.3.
$ pipenv --support

Pipenv version: '2020.6.2'

Pipenv location: '/home/artlogic/.pyenv/root/versions/3.7.7/lib/python3.7/site-packages/pipenv'

Python location: '/home/artlogic/.pyenv/root/versions/3.7.7/bin/python3.7'

Python installations found:

  • 3.8.2: /home/artlogic/.pyenv/root/versions/3.8.2/bin/python3
  • 3.7.7: /home/artlogic/.pyenv/root/versions/3.7.7/bin/python3
  • 3.7.7: /home/artlogic/.pyenv/root/versions/3.7.7/bin/python3.7m
  • 3.7.7: /home/artlogic/.pyenv/root/versions/3.7.7/bin/python3.7
  • 3.7.7: /home/artlogic/.pyenv/root/versions/3.7.7/bin/python3
  • 3.7.5: /home/artlogic/.pyenv/root/versions/3.7.5/bin/python3
  • 3.7.4: /home/artlogic/.pyenv/root/versions/3.7.4/bin/python3
  • 3.7.3: /home/artlogic/.pyenv/root/versions/3.7.3/bin/python3
  • 3.7.2: /home/artlogic/.pyenv/root/versions/3.7.2/bin/python3
  • 3.7.0: /home/artlogic/.pyenv/root/versions/3.7.0/bin/python3
  • 3.6.3: /home/artlogic/.pyenv/root/versions/3.6.3/bin/python3
  • 3.6.1: /home/artlogic/.pyenv/root/versions/3.6.1/bin/python3
  • 3.5.4: /home/artlogic/.pyenv/root/versions/3.5.4/bin/python3
  • 3.5.3: /usr/bin/python3
  • 3.5.3: /usr/bin/python3.5
  • 3.5.3: /usr/bin/python3.5m
  • 2.7.15: /home/artlogic/.pyenv/root/versions/2.7.15/bin/python2
  • 2.7.14: /home/artlogic/.pyenv/root/versions/2.7.14/bin/python2
  • 2.7.13: /usr/bin/python2
  • 2.7.13: /usr/bin/python2.7

PEP 508 Information:

{'implementation_name': 'cpython', 'implementation_version': '3.7.7', 'os_name': 'posix', 'platform_machine': 'x86_64', 'platform_python_implementation': 'CPython', 'platform_release': '4.9.0-12-amd64', 'platform_system': 'Linux', 'platform_version': '#1 SMP Debian 4.9.210-1 (2020-01-20)', 'python_full_version': '3.7.7', 'python_version': '3.7', 'sys_platform': 'linux'}

System environment variables:

  • CLUTTER_IM_MODULE
  • PIPENV_VENV_IN_PROJECT
  • NVM_DIR
  • LS_COLORS
  • XDG_MENU_PREFIX
  • LANG
  • GDM_LANG
  • DISPLAY
  • PYENV_ROOT
  • OLDPWD
  • COLORTERM
  • NVM_CD_FLAGS
  • USERNAME
  • PYENV_VIRTUALENV_INIT
  • PYENV_HOOK_PATH
  • XDG_VTNR
  • SSH_AUTH_SOCK
  • XDG_SESSION_ID
  • USER
  • PYENV_DIR
  • DESKTOP_SESSION
  • RBENV_SHELL
  • QT4_IM_MODULE
  • QT_QPA_PLATFORMTHEME
  • PWD
  • HOME
  • JOURNAL_STREAM
  • SSH_AGENT_PID
  • PYENV_VERSION
  • QT_ACCESSIBILITY
  • XDG_SESSION_TYPE
  • XDG_DATA_DIRS
  • XDG_SESSION_DESKTOP
  • GJS_DEBUG_OUTPUT
  • GTK_MODULES
  • WINDOWPATH
  • VTE_VERSION
  • TERM
  • SHELL
  • RBENV_ROOT
  • QT_IM_MODULE
  • XMODIFIERS
  • NVM_BIN
  • XDG_CURRENT_DESKTOP
  • GPG_AGENT_INFO
  • QT_LINUX_ACCESSIBILITY_ALWAYS_ON
  • XDG_SEAT
  • SHLVL
  • PYENV_SHELL
  • WINDOWID
  • GDMSESSION
  • GNOME_DESKTOP_SESSION_ID
  • LOGNAME
  • DBUS_SESSION_BUS_ADDRESS
  • XDG_RUNTIME_DIR
  • XAUTHORITY
  • PATH
  • NVM_INC
  • GJS_DEBUG_TOPICS
  • SESSION_MANAGER
  • GTK_IM_MODULE
  • PIP_DISABLE_PIP_VERSION_CHECK
  • PYTHONDONTWRITEBYTECODE
  • PIP_SHIMS_BASE_MODULE
  • PIP_PYTHON_PATH
  • PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:

  • PIPENV_VENV_IN_PROJECT: 1

Debug–specific environment variables:

  • PATH: /home/artlogic/.pyenv/root/versions/3.7.7/bin:/home/artlogic/.pyenv/root/libexec:/home/artlogic/.pyenv/root/plugins/python-build/bin:/home/artlogic/.rbenv/root/shims:/home/artlogic/.rbenv/root/bin:/home/artlogic/.rbenv/ruby-build/bin:/home/artlogic/.pyenv/pyenv-virtualenv/shims:/home/artlogic/.pyenv/root/shims:/home/artlogic/.pyenv/root/bin:/home/artlogic/.pyenv/pyenv-virtualenv/bin:/home/artlogic/.dotfiles/config/.nvm/versions/node/v12.16.3/bin:/home/artlogic/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
  • SHELL: /bin/bash
  • LANG: en_US.UTF-8
  • PWD: /home/artlogic/Code/random/pipenv-again
pipenv does not use default python version under pyenv (2024)
Top Articles
Latest Posts
Article information

Author: Aron Pacocha

Last Updated:

Views: 6401

Rating: 4.8 / 5 (48 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Aron Pacocha

Birthday: 1999-08-12

Address: 3808 Moen Corner, Gorczanyport, FL 67364-2074

Phone: +393457723392

Job: Retail Consultant

Hobby: Jewelry making, Cooking, Gaming, Reading, Juggling, Cabaret, Origami

Introduction: My name is Aron Pacocha, I am a happy, tasty, innocent, proud, talented, courageous, magnificent person who loves writing and wants to share my knowledge and understanding with you.