SoFunction
Updated on 2025-04-11

Detailed Guide to Installing and Using Pyenv in Linux Environment

1. What is Pyenv?

Pyenv is a tool for managing multiple Python versions, allowing developers to install and switch different Python versions on the same system. Its features include:

  • Supports multiple versions of coexistence: Multiple Python versions can be installed and managed.
  • Easily switch versions: Quickly switch Python versions in global and project environments.
  • No administrator permission required: Users can install and manage Python versions without administrator privileges.

2. Install Pyenv in Linux environment

2.1 System requirements

Before installing Pyenv on Linux systems, make sure the following requirements are met:

  • Linux distribution: Supports all mainstream Linux distributions, such as Ubuntu, Debian, Fedora, etc.
  • Tools and dependencies: Need to install Git and some libraries required to compile Python.

2.2 Installation steps

Install dependencies

Since Pyenv needs to compile Python from the source code, some dependencies need to be installed.

sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Install Pyenv

Use Git to clone Pyenv's code base to your home directory:

curl  | bash

This command will automatically clone the Pyenv code base and configure the necessary environment variables.

Configure the shell environment

In order to use the Pyenv command in the terminal, some configuration needs to be added to the shell configuration file. Edit the corresponding configuration file according to the shell used:

BashUser Edit~/.bashrc, add the following:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

Save and close the file, and then executesource ~/.bashrcorsource ~/.zshrcto make the changes take effect.

ZshUser Edit~/.zshrc, add the same content.

Verify installation

Run the following command to verify that Pyenv is installed correctly:

pyenv --version
  • If the installation is successful, you will see the version information of Pyenv.

3. Use Pyenv

3.1 Install Python version

Pyenv allows you to install multiple Python versions. Here is an example of installing Python 3.12.2:

pyenv install 3.12.2

Pyenv will automatically download and compile the specified Python version, and the compilation process may take some time.

3.2 List available versions

Use the following command to view all available Python versions:

pyenv install --list

3.3 Setting the global Python version

You can set the global Python version used by the system:

pyenv global 3.12.2

This command will be created or modified~/.pyenv/versionFile to record global Python versions.

3.4 Set the Python version of the current directory

If you want to set up a Python version for a specific project, you can usepyenv localOrder:

cd /path/to/your/project
pyenv local 3.12.2

This command will create a.python-versionFile, record the selected Python version.

3.5 Setting the Python version of the current shell

If you want to set the Python version for the current shell, you can usepyenv shellOrder:

cd /path/to/your/project
pyenv shell 3.12.2

This command will create a.python-versionFile, record the selected Python version.

3.6 View the current Python version

To view the Python version currently in use, use the following command:

pyenv version

4. Frequently Asked Questions and Troubleshooting

  • Version conflict: Make sure there are no other settings in your shell configuration that modify the Python path, which may cause version conflicts. Will.bashrcor.zshrcThe Pyenv configuration in  before all other Python path configurations.
  • Compilation error: If you encounter a compilation error, check whether all necessary dependencies have been installed. Make sure your system tools (such as GCC) are the latest version.
  • Permissions issues: Pyenv does not require administrator permissions to install Python version, but in some system configurations, user permissions may need to be adjusted.

5. Summary

Pyenv is a powerful and flexible Python version management tool that can help developers easily manage and switch Python versions in Linux environments. With the detailed guide in this article, you should be able to successfully install Pyenv and start managing your Python version. Whether it is pursuing the latest Python features or maintaining compatibility with old projects, Pyenv can provide you with great convenience.

The above is the detailed guide to installing and using Pyenv in a Linux environment. For more information about installing and using Pyenv in Linux, please follow my other related articles!