
Python developers often face the challenge of working with different versions of Python, which can cause issues when trying to run applications or scripts. Fortunately, Pyenv is a helpful tool that simplifies Python version management by allowing developers to switch between different versions of Python with ease. In this article, we will guide you through the process of installing Pyenv on your system.
Pre-Requisites: What You Need Before Installing Pyenv

Before we proceed with the installation process, let’s ensure that you have everything you need to install Pyenv. Here are the pre-requisites you need to have:
Operating System Requirements
Pyenv supports various operating systems, including Linux, macOS, and FreeBSD. However, it’s essential to note that some Linux distributions might require extra packages to work correctly with Pyenv. For instance, Ubuntu users need to install the build-essential
package before installing Pyenv.
Python Version Requirements
Pyenv supports a wide range of Python versions, including old and new releases. However, it’s essential to note that Pyenv requires a compiler to install Python versions from source. Therefore, you need to install Xcode
on macOS or build-essential
on Linux before installing Pyenv.
Dependency Requirements
Pyenv depends on git
to download and manage Python versions. Therefore, you need to ensure that git
is installed and configured correctly on your system. You can confirm whether git
is installed using the command git --version
. If it’s not installed, use your package manager to install it.
Now that we have all the pre-requisites let’s proceed with the installation process.
Installation of Pyenv
There are several ways to install Pyenv, including using Homebrew, Github, or using the installation script. Here is a step-by-step guide on how to install Pyenv using the installation script:
- Open your terminal window.
- Run the following command to download and install the Pyenv installation script:
curl https://pyenv.run | bash
- After the installation script has finished running, add Pyenv to your
~/.bashrc
or~/.bash_profile
file by running the following command:
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
- Next, add the following command to your
~/.bashrc
or~/.bash_profile
file to enable shims and autocompletion:
echo -e 'if command -v pyenv 1>/dev/null 2>&1; thenn eval "$(pyenv init -)"nfi' >> ~/.bashrc
- Finally, restart your terminal window or run the following command to apply the changes:
source ~/.bashrc
Congratulations! You have successfully installed Pyenv on your system.
Configuring Pyenv
Now that you have installed Pyenv, it’s time to configure it to suit your needs. Here are some configuration steps you can take:
Setting Up Environment Variables
Pyenv uses environment variables to manage Python versions and other settings. You can set the environment variables by running the following command:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
Configuring the Shell
You can configure the shell to use Pyenv by running the following command:
pyenv init -
This command configures the shell to use Pyenv’s shims by modifying the shell’s PATH environment variable.
Configuring Pyenv Versions
Pyenv allows you to install and manage multiple versions of Python. You can install a new version of Python using the following command:
pyenv install <version>
For example, to install Python 3.9.5, run the following command:
pyenv install 3.9.5
You can set the global Python version using the following command:
pyenv global <version>
For example, to set Python 3.9.5 as the global version, run the following command:
pyenv global 3.9.5
You can also set a local Python version for a specific directory using the following command:
pyenv local <version>
For example, to set Python 3.9.5 as the local version for the current directory, run the following command:
pyenv local 3.9.5
With these configuration steps, you are now ready to use Pyenv to manage your Python versions.
Using Pyenv: Managing Your Python Versions and Environments
Now that you have successfully installed Pyenv let’s explore how to use it to manage your Python versions and environments.
How to Switch Between Python Versions
One of the most significant advantages of Pyenv is that it allows you to switch between different Python versions with ease. To switch to a particular version of Python, use the pyenv global
command followed by the version you want to use. For instance, to switch to Python version 3.9.5, use the command pyenv global 3.9.5
. You can also use the pyenv local
command to set a Python version for a specific directory.
Creating Virtual Environments with Pyenv
Pyenv also allows you to create virtual environments for your Python projects. Virtual environments are isolated Python environments that enable you to install packages and dependencies for each project separately. To create a virtual environment with Pyenv, use the pyenv virtualenv
command followed by the Python version you want to use and the name of the virtual environment. For example, to create a virtual environment named myenv
using Python version 3.8.10, use the command pyenv virtualenv 3.8.10 myenv
. Once you create a virtual environment, you can activate it using the pyenv activate
command followed by the name of the virtual environment.
Installing Packages with Pyenv
Once you have created a virtual environment, you can install packages and dependencies using the pip
command. Pyenv ensures that packages are installed in the correct virtual environment. To install a package, first, activate the virtual environment using the pyenv activate
command, followed by the name of the virtual environment. Then use the pip install
command to install the package.
Troubleshooting: Common Errors and Their Solutions
While using Pyenv, you might encounter some errors. Here are some common errors and their solutions:
Error: pyenv: command not found
If you get the error pyenv: command not found
, it means that Pyenv is not installed correctly, or your shell environment is not configured correctly. Ensure that you followed the installation instructions correctly and that your shell environment is configured to load Pyenv. You can also try restarting your shell and running the command again.
Error: Python version not found
If you get the error python version not found
, it means that Pyenv does not have the Python version you’re trying to use. Ensure that you have installed the Python version you want to use using the pyenv install
command. If the Python version is installed, try rehashing Pyenv using the command pyenv rehash
.
Resources for Additional Help and Support
If you encounter any other errors or issues while using Pyenv, you can find additional help and support through the Pyenv GitHub page, which includes documentation and a FAQ section. Additionally, the Pyenv community on Reddit and Stack Overflow is a great place to ask questions and get help from other developers.