错误:命令'['/path/to/env/bin/python3.7'、'-Im'、'ensurepip'、'--upgrade'、'--default-pip']'返回非零退出状态 1

错误:命令'['/path/to/env/bin/python3.7'、'-Im'、'ensurepip'、'--upgrade'、'--default-pip']'返回非零退出状态 1

我刚刚通过 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 包就可以了

相关内容