Create a Python 3 virtual environment
venv
is a convenience script to create virtual envs, but does not fully replace everything virtualenv
can do. Using either is fine for most cases though. virtualenv
is not obsolete.
python3 -m venv
works after installing python3-venv
because Debian strips out some scripts from the base Python package. python3-virtualenv
doesn't put the virtualenv
script on your path for some reason, but python-virtualenv
does, and will work fine for either version.
It is not important which version virtualenv
is installed for, it can produce envs for any installed version by passing -p pythonX
(where X is the version). venv
, being more simple, will only create envs of the version it is run from, and is only available since 3.3.
$ sudo apt-get install python-virtualenv
$ virtualenv -p python3 env
$ source ./env/bin/activate
$ sudo apt-get install python3-venv
$ python3 -m venv env
$ source ./env/bin/activate
Related videos on Youtube
Escher
Updated on September 18, 2022Comments
-
Escher over 1 year
I installed
python3-virtualenv
on Lubuntu 15.1 using the official Ubuntu packageapt-get install python3-virtualenv
. The official documentation indicates that a simplevirtualenv .
in my project directory should be enough to create the venv. This does nothing, becausewhich virtualenv
does nothing. (Nothing fromwhich python-virtualenv
andwhich python3-virtualenv
also).The package information, once installed, says that it installed
/usr/lib/python3/dist-packages/virtualenv.py
, so I invoke this under python3. It gives me this:$ python3 /usr/lib/python3/dist-packages/virtualenv.py . Running virtualenv with interpreter /usr/bin/python2 New python executable in ./bin/python2 Also creating executable in ./bin/python Installing setuptools, pip...done.
Yep, when I look, everything in ./bin is python2. Is ubuntu's python3-virtualenv a dummy package for python2?
The official python documentation says use a different package: python3-venv. This seems to work when I
pyvenv .
, with python3 stuff in the./bin
directory.How can I successfully create a Python 3 virtualenv?
-
Winny over 4 yearsThe patch that changes this behavior in Debian. salsa.debian.org/python-team/modules/python-virtualenv/blob/… I wish I understood the thought process used when this patch was added.
-