我刚刚通过 deadsnakes ppa 在我的 18.04LTS 上安装了 python3.7:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.7 -y
现在我想创建一个虚拟环境,python3.7 -m venv env
但我得到了
Error: Command '['/path/to/desired/env/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
python3 -m venv env0
之前工作得很好。
为什么会发生这种情况?
我该怎么做才能在 Ubuntu 18.04LTS 上为 python3.7 创建虚拟环境?
答案1
我正在使用 python3.9。以下命令为我解决了该问题:
sudo apt-get install python3.9-venv
答案2
我意识到 python3.7 自带了 bionic,于是删除了 ppa:deadsnakes/ppa 以及 python3.7。定期安装后,我得到了以下信息:
$ 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
已经安装,但python3.7-venv
尚未安装,有了它我可以创建环境。
答案3
在我的计算机上,我注意到虽然python -m venv
该命令不起作用,但它确实可以工作:
virtualenv --python=$(which python3.7) venv
编辑:
目前,此命令有了一个更新的版本。它应该适用于 python3.7 及更高版本。
python3.7 -m venv venv
正如命令中提到的,这个命令也应该有效:
python3.7 -m virtualenv venv
答案4
使用它apt-get install python3.7-dev python3.7-venv
安装 python3.7-dev 和 python3.7-venv 包就可以了