如何在ubuntu 16.04上使用virtualenv和python3.6?

时间:2017-12-14 22:00:42

标签: python ubuntu virtualenv python-3.6 virtual-environment

我正在使用Ubuntu 16.04,它带有python2.7和python3.5 所以我在它上面安装了python3.6,并通过alias python3=python3.6将pyml3符号链接到python3.6。然后我使用sudo -H pip3 install virtualenv安装了virtualenv。当我检查时,virtualenv安装在“/usr/local/lib/python3.5/dist-packages”位置。
因此,当我尝试使用python3 -m venv ./venv1创建virtualenv时,它会给我带来错误:

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

我该怎么办?

5 个答案:

答案 0 :(得分:31)

我们通常使用$ 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

答案 1 :(得分:8)

通过python3.6而不是python3.6-venv安装ppa:deadsnakes/ppappa: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

答案 2 :(得分:8)

首先请确保您已安装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.3.6替换为3.6

答案 3 :(得分:1)

我认为问题可能与错误的语言环境有关。 我在/etc/environment中添加了以下几行来对其进行修复:

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

您需要使用以下命令从bash中获取文件:

source /etc/environment

答案 4 :(得分:0)

如果出现以下令人讨厌的错误:

def updated_dict(arr, olddict):
    newdict = {}
    for item in arr:
        newdict[item] = olddict.get(item)

    return newdict

尝试以下命令:

E: Unable to locate package python3-venv

为我工作的人。希望对您有帮助!