Issue
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?
Solution
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.
Answered By - ThoWe