You need to pass the full path to -p 

First check that python2.7 installed in the system is actually python 2.7:

$ python2.7 --version
Python 2.7.12

You can get the full path, by using 'which':

$ which python2.7

Pass that to -p:

virtualenv -p /usr/bin/python2.7 env_dir

Now activate the virtualenv

$ source env_dir/bin/activate

Run some python
$ python

>>> print "Hello world from inside python2.7"
Hello world from inside python2.7

On Sunday, September 18, 2016 at 1:03:07 PM UTC+1, Amir Teymuri wrote:
> My default python version on my Debian 8.5 machine is *3.4.2*. I want to 
> use python *2.7* for only one project. I have tried running all of the 
> following commands in the terminal one by one, :
> virtualenv -p python2.7 env_dir
> virtualenv -p python2 env_dir
> virtualenv --python=python2.7 env_dir
> And this is the inside the env_dir:
> print "Hello world from inside env_dir"
> Obviously however the still gets executed with python3.4.2, 
> because i run:
> python
> and i get:
>       File "", line 1
>     print "Hello world from inside env_dir"
>                                       ^SyntaxError: Missing parentheses in 
> call to 'print'
> What is the problem, why it fails to run the code in python2.7?
> *Update*
> I have also tried:
> virtualenv -p /usr/bin/python2.7 env_dir
> source env_dir/bin/activate
> (env_dir) amir@amir-debian:~/env_dir$ python 
>   File "", line 1
>     print "Insid virtual env"
>                         ^SyntaxError: Missing parentheses in call to 'print'
> Running python -V after activating returns: *Python 3.4.2*

You received this message because you are subscribed to the Google Groups 
"virtualenv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
Visit this group at
For more options, visit

Reply via email to