42

我使用的是 Ubuntu 16.04,它带有 Python 2.7 和 Python 3.5。我已经在其上安装了 Python 3.6,并将 python3 符号链接到 python3.6 通过alias python3=python3.6.

然后,我virtualenv使用sudo -H pip3 install virtualenv. 当我检查时,virtualenv 已安装在某个"/usr/local/lib/python3.5/dist-packages"位置,因此当我尝试使用它创建 virtualenv 时,python3 -m venv ./venv1它会抛出错误:

Error Command: ['/home/wgetdj/WorkPlace/Programming/Python/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

我应该怎么办?

4

5 回答 5

55

我们通常$ python3 -m venv myvenv用来创建一个新的virtualenv(这里myvenv是我们的virtualenv 的名称)。

与我的情况类似,如果您的系统同时拥有python3.5python3.6,那么您可能会遇到一些错误。

注意:在某些版本的 Debian/Ubuntu 上,您可能会收到以下错误:

 The virtual environment was not created successfully because ensure pip is not available.  On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.
      apt-get installpython3-venv  
 You may need to use sudo with that command.  After installing the python3-venv package, recreate your virtual environment. 

在这种情况下,请按照上面的说明安装 python3-venv 包:

$ sudo apt-get install python3-venv

注意:在某些版本的 Debian/Ubuntu 上,像这样启动虚拟环境当前会出现以下错误:

Error Command: ['/home/wgetdj/WorkPlace/Programming/Python/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

要解决此问题,请改用 virtualenv 命令。

$ sudo apt-get install python-virtualenv
$ virtualenv --python=python3.6 myvenv

注意:如果您收到类似的错误

E: 无法定位包 python3-venv

然后改为运行:

sudo apt install python3.6-venv
于 2017-12-16T03:59:30.210 回答
20

安装python3.6python3.6-venv通过ppa:deadsnakes/ppa而不是ppa:jonathonf/python-3.6为我工作

apt-get update \
&& apt-get install -y software-properties-common curl \
&& add-apt-repository ppa:deadsnakes/ppa \
&& apt-get update \
&& apt-get install -y python3.6 python3.6-venv
于 2018-05-06T07:29:57.777 回答
16

首先确保你已经安装了python3.6,否则你可以用命令安装它:

sudo add-apt-repository ppa:deadsnakes/ppa   
sudo apt-get update   
sudo apt install python3.6

现在安装 venv 即

sudo apt-get install python3.6-venv python3.6-dev
python3.6 -m venv venv_name

您可以使用上述命令安装 python3.7/3.8 以及相应的 venv,只需将 3.6 替换为 3.X

于 2020-03-04T07:06:52.200 回答
1

I think that a problem could be related to the wrong locale. I added to the /etc/environment the following lines to fix it:

LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

You need to source the file from you bash with this command:

source /etc/environment
于 2018-08-15T07:04:44.483 回答
0

如果您遇到以下恼人的错误:

E: Unable to locate package python3-venv

试试这个命令:

sudo apt-get update

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt-get update

sudo apt-get install python3.6

那些为我工作的。希望它有帮助!

于 2020-07-01T10:19:51.927 回答