Pyenv: Difference between revisions
Jump to navigation
Jump to search
Line 9: | Line 9: | ||
<code>pyenv</code> works by intercepting Python commands using shim executables injected in <code>PATH</code>, determines which Python version has been specified by your application and passes the command along to the correct Python installation. | <code>pyenv</code> works by intercepting Python commands using shim executables injected in <code>PATH</code>, determines which Python version has been specified by your application and passes the command along to the correct Python installation. | ||
=Version Selection= | |||
The intercepting <code>pyenv</code> shim determines what Python version is needed by looking at the following sources, in this order: | |||
# <CODE>PYENV_VERSION</CODE> | |||
# The application-specific <code>.python-version</code> in the current directory. | |||
# The first <code>.python-version</code> file found by searching each parent directory up to the filesystem root. | |||
# The global <code>$(pyenv root)/version</code> file. |
Revision as of 21:37, 2 November 2023
External
Internal
Overview
pyenv
is a tool that let you switch between multiple version of Python.
pyenv
lets you change the global Python version on a per-user basis. It also provides support for per-project Python versions. It allows you to override the Python version with an environment variables.
pyenv
works by intercepting Python commands using shim executables injected in PATH
, determines which Python version has been specified by your application and passes the command along to the correct Python installation.
Version Selection
The intercepting pyenv
shim determines what Python version is needed by looking at the following sources, in this order:
PYENV_VERSION
- The application-specific
.python-version
in the current directory. - The first
.python-version
file found by searching each parent directory up to the filesystem root. - The global
$(pyenv root)/version
file.