Saturday, October 30, 2021

[SOLVED] How to specify python version used to create Virtual Environment?

Issue

My Python virtual environments use python3.6 when I create them using virtualenv

~ $ virtualenv my_env

but I need to use python3.5 as 3.6 is not currently supported by Opencv3.

I've tried using the --python=<py_version> flag when creating a virtual environment but this doesn't work.

How do I specify the python (3.x) version to install using virtualenv for Mac and/or Linux?


Solution

Assuming that you have installed python3 or any desired version of Python (2.6, 2.7, 3.5, 3.6), Now while creating the virtual environment directly pass the python executable path. Hence here are few valid example

$ virtualenv new_p2_env # Creates a new default python environment (usually python 2)

$ virtualenv -p python3 new_p3_env # Creates a new default python3 (python3 must be a valid command i.e found in the PATH) 

And last

# Directly point to any version of python binary, this can be even another virtualenv's bin/python. 
$ virtualenv -p /path/to/any/bin/python new_env 


Answered By - nehem