How to run multiple Ansible Version using Python3 Virtual Environments

Published on March 25, 2023 · Updated on March 24, 2023
How to run multiple Ansible Version using Python3 Virtual Environments

Python virtual environments are an essential tool for version management and isolation of Python packages. By creating separate virtual environments, we can install and manage different versions of Python packages and applications, including Ansible. In this post, we will discuss how to run multiple Ansible versions side by side using Python 3 virtual environments.

We will cover the benefits of virtual environments, why you might need to have more than one version of Ansible installed, and version management. Additionally, we will discuss how to use virtual environments for Continuous Integration and Continuous Deployment (CI/CD) pipelines.

Install Python 3

Before we proceed, we need to ensure that we have Python 3 installed on our system. Depending on your OS, you can install Python 3 using your package manager.

Install Python3 on CentOS

sudo yum install python3

Install Python3 on Ubuntu

sudo apt install python3

Create Virtual Environments

Once Python 3 is installed, we can create a virtual environment using the venv module, which is included in Python 3.

To create a virtual environment, run the following command:

python3 -m venv /path/to/new/virtual/environment

You can replace /path/to/new/virtual/environment with your preferred directory path.

Next, activate the virtual environment by running:

source /path/to/new/virtual/environment/bin/activate

This will enable the virtual environment and any packages installed in this environment will not conflict with packages installed in other environments or the global environment.

Creating a Portable Environment

We can also create a portable environment by creating a requirements.txt file. The requirements.txt file lists all Python packages required by our application, including the specific version of Ansible.

ansible==2.9.25

To create a portable environment, run the following command:

python3 -m venv my_env && source my_env/bin/activate && pip install -r requirements.txt

This command will create a virtual environment, activate it, and install all the required packages in the environment, including Ansible version 2.9.25.

Import an Environment Based on Provided requirements.txt

We can also import a pre-configured virtual environment by running the following command:

python3 -m venv my_env && source my_env/bin/activate && pip install -r https://example.com/requirements.txt

This command will create a virtual environment and install all the required packages listed in the requirements.txt file located at https://example.com/requirements.txt.

Conclusion

In this post, we discussed how to run multiple Ansible versions side by side using Python 3 virtual environments. We covered the benefits of virtual environments, version management, and creating portable environments. We also showed how to import pre-configured virtual environments using the requirements.txt file. By using virtual environments, we can manage and install different versions of Ansible on the same system without conflicts.

Load Comments