I just installed python3.7 on my 18.04LTS via the deadsnakes ppa:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.7 -yNow I want to create a virtual environment with python3.7 -m venv env but I get
Error: Command '['/path/to/desired/env/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.python3 -m venv env0 worked fine before.
Why does this happen?
What can I do to create a virtual environment for python3.7 on Ubuntu 18.04LTS?
6 Answers
I am using python3.9. The command below solved the issue for me:
sudo apt-get install python3.9-venv 5 I realised that python3.7 comes with bionic and removed ppa:deadsnakes/ppa as well as python3.7. After installing it regularly, I got the following:
$ python3.7 -m venv v2
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command. apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/.../v2/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']python3-venv was already installed, but python3.7-venv wasn't, and with that I could create the environment.
Use this apt-get install python3.7-dev python3.7-venv to install python3.7-dev and python3.7-venv packages and you are good to go
On my machine I've noticed that while python -m venv does not work, this command does:
virtualenv --python=$(which python3.7) venvEdit:
There is a more modern version of this command these days. It should work on python3.7 and up.
python3.7 -m venv venvAs mentioned in the commands, this command should also work:
python3.7 -m virtualenv venv 5 This error occurred to me in a very different scenario. Hope it ends up helping someone.
I was working on my ntfs drives and they were being auto-mounted at boot in /etc/fstab using ntfs-3g with root permissions by default.
When trying to create virtualenv it showed me the same error. This was fixed by adding uid and gid particular flags in /etc/fstab
UUID=<uuid> <mount-path> ntfs <other-flags>,uid=<uid of user>,gid=<gid of user> 0 0 This worked for me (Thx Joseph..):
sudo apt-get install python3.10-dev
sudo apt-get install python3.10-venv
After this:
python3.10 -m venv venv
works fine!