How to use a different Python version with virtualenv


If you have multiple Python versions installed on your device and want to make use of a certain version of Python for a project, then you can create a virtual environment for it by executing the virtualenv command in the console/Terminal with the path to the Python version that wants to make use of.


Example:
virtualenv --python="/opt/homebrew/bin/python3" "/Users/c2ctech/Desktop/proj1/"

This will create the Python project structure with the specific version of Python.

home = /opt/homebrew/opt/python@3.11/bin
implementation = CPython
version_info = 3.11.4.final.0
virtualenv = 20.23.1
include-system-site-packages = false
base-prefix = /opt/homebrew/opt/python@3.11/Frameworks/Python.framework/Versions/3.11
base-exec-prefix = /opt/homebrew/opt/python@3.11/Frameworks/Python.framework/Versions/3.11
base-executable = /opt/homebrew/opt/python@3.11/bin/python3.11

Note: Make sure you have virtualenv module installed using pip or else you will get an error "zsh: command not found: virtualenv"

Now let's make use of another Python version this time.

virtualenv --python="/opt/homebrew/bin/python3.9" "/Users/c2ctech/Desktop/proj2/"
-rwxr-xr-x@ 1 c2ctech  staff   244 Jul  6 15:55 pip
-rwxr-xr-x@ 1 c2ctech  staff   244 Jul  6 15:55 pip-3.9
-rwxr-xr-x@ 1 c2ctech  staff   244 Jul  6 15:55 pip3
-rwxr-xr-x@ 1 c2ctech  staff   244 Jul  6 15:55 pip3.9
lrwxr-xr-x@ 1 c2ctech  staff    42 Jul  6 15:55 python -> /opt/homebrew/opt/python@3.9/bin/python3.9
lrwxr-xr-x@ 1 c2ctech  staff     6 Jul  6 15:55 python3 -> python
lrwxr-xr-x@ 1 c2ctech  staff     6 Jul  6 15:55 python3.9 -> python
-rwxr-xr-x@ 1 c2ctech  staff   231 Jul  6 15:55 wheel
-rwxr-xr-x@ 1 c2ctech  staff   231 Jul  6 15:55 wheel-3.9
-rwxr-xr-x@ 1 c2ctech  staff   231 Jul  6 15:55 wheel3
-rwxr-xr-x@ 1 c2ctech  staff   231 Jul  6 15:55 wheel3.9
use a different Python version with virtualenv example

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap