Pyenv Concepts: Difference between revisions
Jump to navigation
Jump to search
pyenv and
(Created page with "=Internal= * pyenv") |
|||
Line 1: | Line 1: | ||
=Internal= | =Internal= | ||
* [[Pyenv#Subjects|pyenv]] | * [[Pyenv#Subjects|pyenv]] | ||
=Overview= | |||
<code>pyenv</code> is a tool that let you switch between multiple version of Python. | |||
<code>pyenv</code> 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. | |||
<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. | |||
=<tt>pyenv</tt> and <code>brew</code>= | |||
<font color=darkkhaki>TO PROCESS: https://stackoverflow.com/a/30580166</font> |
Revision as of 00:30, 3 November 2023
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.
pyenv and brew
TO PROCESS: https://stackoverflow.com/a/30580166