Can't Find or create a new virtualenv

Malik A. Rumi picture Malik A. Rumi · Oct 2, 2016 · Viewed 12.3k times · Source

I just got Python 3.5.2 and wanted to create a virtualenv.

I have done this before. Right now, I have a virtualenv on a Python2.7 project that I can still open with source bin/activate.

But try as I might, from /home, or from /path/to/virtualenv, or /path/to/virtualenv-$, with or without sudo and python prepended on the command line, I only get one response: no such file or directory.

This was with the -p flag so it would use 3.5.2, because 2.7.12 is still my default. If it is broken, why does the virtualenv I created for 2.7 still activate?

Then I tried pyvenv and venv (which I've never used before) from the 3.5.2 interpreter:

>>> pyvenv /home/malikarumi/Projects/aishah
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pyvenv' is not defined
>>> venv /home/malikarumi/Projects/aishah
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'venv' is not defined

and from bash:

malikarumi@Tetuoan2:~$ malikarumi@Tetuoan2:/usr/local/bin$ python3.5    pyvenv ~/Projects/aishah
bash: malikarumi@Tetuoan2:/usr/local/bin$: No such file or directory
malikarumi@Tetuoan2:~$ malikarumi@Tetuoan2:/usr/local/bin$ python3.5 venv ~/Projects/aishah
bash: malikarumi@Tetuoan2:/usr/local/bin$: No such file or directory

What am I doing wrong?

Answer

ThoWe picture ThoWe · Oct 2, 2016

Using virtualenv

First of all you should verify that virtualenv is really installed for Python 3.5:

python3.5 -m pip list

If it's not then install it either with the package manager of your distribution or by running python3.5 -m pip install virtualenv.

Then you can run python3.5 -m virtualenv <newvenv> and it should create a new virtualenv using Python 3.5 for you.

Using venv that is already part of the standard library in Python 3.5

Simply running python3.5 -m venv <newvenv> should do the job.