Unlock the Secret to Switching Python Versions on Linux: Code Examples Included

Table of content

  1. Introduction
  2. Understanding Python Versions on Linux
  3. Method 1: Using Anaconda
  4. Method 2: Using Pyenv
  5. Method 3: Using Virtual Environments
  6. Conclusion
  7. Additional Resources (Code examples included!)



Python is a popular programming language, used by developers to create a wide variety of applications. However, different applications may require different versions of Python. This can be a challenge for developers who need to switch between multiple Python versions on their Linux systems. In this article, we will unlock the secret to switching Python versions on Linux, including examples of code that can be used to make the process easier.

Whether you are developing web applications, machine learning models, or data analysis tools, being able to switch between different versions of Python is essential. This can help ensure that your applications work as expected, and that they are compatible with other software and tools that you may be using. By learning how to switch Python versions on Linux, you can streamline your workflow and make your development process more efficient.

In this article, we will cover the following topics:

  • Why switching Python versions on Linux is important
  • How to check which Python version is currently installed on your Linux system
  • How to install different versions of Python on Linux
  • How to switch between Python versions using virtual environments
  • Code examples of switching Python versions on Linux

    Understanding Python Versions on Linux

Python is an incredibly versatile and widely-used programming language that comes in various versions. Each version has its own set of syntax and features, which can make it difficult to switch between them. If you're working on a Linux machine, understanding how Python versions work is essential, as you may need to switch between them depending on the project you're working on. Here are some key things to keep in mind:

  • Python 2 vs. Python 3: The most commonly used versions of Python are currently Python 2 and Python 3. The difference between these versions is not just a matter of syntax but also includes changes to the Python interpreter itself. Python 2 is the older version and is still widely used because of its compatibility with existing code. Python 3 is the newer version and is generally considered to be the future of the language. Many developers are actively working to update their code to be compatible with Python 3.

  • Python Version Numbers: Each version of Python has a unique version number, which indicates its release. For example, Python 2.7 and Python 3.8 are both different versions of Python. It's essential to know which version of Python you're working with, as different versions may require different command-line arguments and commands.

  • System vs. User Python: On a Linux machine, there are two types of Python installations: system and user. The system Python installation is typically installed by default and is used by the operating system and other applications. The user Python installation is installed by the user and is usually located in the home directory. Understanding which version of Python is installed on your system can help you figure out which installation to use when running your scripts.

By understanding the differences between Python versions and how they're installed on your Linux machine, you'll be better equipped to navigate the complexities of Python development. With this knowledge, you'll be on your way to becoming an expert in no time!

Method 1: Using Anaconda

Anaconda is a popular tool used in data science and machine learning, as it simplifies the installation and management of programming languages and packages. Using Anaconda, you can easily switch between different versions of Python. Here's how to do it:

  1. Install Anaconda: First of all, you need to download and install Anaconda on your Linux system. You can do this by going to the official Anaconda website and following the instructions for your specific Linux distribution.

  2. Check available Python versions: Once Anaconda is installed, you can check which versions of Python are available by running the following command in your terminal: conda search python. This will show you a list of available Python versions that you can install.

  3. Create a new environment: To create a new environment with a particular version of Python, run the following command: conda create --name myenv python=3.8. This will create a new environment called "myenv" with Python version 3.8 installed.

  4. Activate the environment: To activate the environment, run the following command: conda activate myenv. This will switch your system to the new environment with the specified Python version.

  5. Switch back to the default environment: To switch back to the default environment with the original Python version, run the following command: conda deactivate. This will deactivate the current environment and switch you back to the default environment.

Using Anaconda makes it easy to switch between different versions of Python on your Linux system. By creating new environments, you can keep your development projects separate and ensure that each project is using the correct version of Python.

Method 2: Using Pyenv

Pyenv is a Python version management tool that allows you to easily switch between multiple Python environments on your Linux system. Pyenv enables you to install and manage multiple Python versions and associated dependencies, without interfering with the system Python installation or other Python environments already present on your system.

To use Pyenv, follow these steps:

  1. Install Pyenv: You can install Pyenv using git clone command from the official Pyenv GitHub repository. For instance,

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. Install the desired Python version using Pyenv: Once Pyenv is installed, you can use it to install specific Python versions for your project or application. To install a Python version using Pyenv, use the following command format:

    pyenv install <version_number>

    For example, to install Python 3.8.3, run the command:

    pyenv install 3.8.3
  3. Set the global Python version: To set the global Python version on your Linux system, use the following command:

    pyenv global <Python version number>

    For instance, to set Pyenv's global Python version to 3.8.3, run:

    pyenv global 3.8.3
  4. Verify the Python version: To verify that the correct Python version is being used, run the following command:

    python --version

    This should display the version number of the Python interpreter that is currently active.

By using Pyenv, you can easily switch between different versions of Python as needed for your project or application, without having to worry about any system-level dependencies or conflicts.

Method 3: Using Virtual Environments

In addition to using package managers and system tools to manage your Python versions, another powerful tool you can use is virtual environments. A virtual environment is a isolated Python environment that allows you to install and manage packages in a way that won't affect the system Python or any other virtual environment.

Here's how you can use virtual environments to switch between Python versions:

  1. Install virtualenv with pip

    sudo apt-get install python3-pip
    sudo pip3 install virtualenv
  2. Create a new virtual environment for Python 3.7

    virtualenv -p /usr/bin/python3.7 myenv

    This will create a new directory called myenv that contains a Python 3.7 environment. You can activate this environment with the following command:

    source myenv/bin/activate

    You should see the name of your virtual environment in your prompt, indicating that you're now using that version of Python.

  3. Install packages inside the virtual environment

    With the virtual environment activated, you can now use pip to install packages to this isolated environment:

    pip install requests
  4. Deactivate the virtual environment

    To leave the virtual environment and return to your system Python, you can simply run:


    This will restore your system Python environment and remove the name of the virtual environment from your prompt.

Using virtual environments can be particularly helpful when developing multiple projects on the same system, as each project can have its own isolated environment with its own set of dependencies. By switching between virtual environments, you can work on different projects with different Python versions without worrying about conflicts or dependencies.


In , switching between Python versions on Linux can be a useful tool for developers who work with multiple projects or need to test their code on different Python versions. By using virtual environments and the update-alternatives command, you can easily manage and switch between Python versions without affecting the system-wide installation.

Remember to always activate your virtual environment before running your code and to check that you are using the correct Python version. Additionally, make sure to install the necessary packages and dependencies for each Python version you use.

With these tools and tips, you can take your Python development to the next level and easily switch between versions for optimal performance and compatibility.

Additional Resources (Code examples included!)

Here are some additional resources to help you switch Python versions on Linux:

Additionally, here are some example commands that can be used to switch between Python versions using the command line:

# view available Python versions
$ pyenv versions

# set the global Python version
$ pyenv global <version>

# set the local Python version for a specific directory
$ pyenv local <version>

# switch to a different Python version in the current shell
$ pyenv shell <version>

# run a command with a specific Python version
$ pyenv exec <version> <command>

By using these resources and commands, you will be able to quickly and easily switch between Python versions on Linux and continue developing your Python projects without any issues.

Cloud Computing and DevOps Engineering have always been my driving passions, energizing me with enthusiasm and a desire to stay at the forefront of technological innovation. I take great pleasure in innovating and devising workarounds for complex problems. Drawing on over 8 years of professional experience in the IT industry, with a focus on Cloud Computing and DevOps Engineering, I have a track record of success in designing and implementing complex infrastructure projects from diverse perspectives, and devising strategies that have significantly increased revenue. I am currently seeking a challenging position where I can leverage my competencies in a professional manner that maximizes productivity and exceeds expectations.
Posts created 1778

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top