python - 如何在 ubuntu 16.04 上将 virtualenv 与 python3.6 一起使用?

标签 python ubuntu virtualenv python-3.6 virtual-environment

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

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

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

我该怎么办?

最佳答案

我们通常使用$ 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: Unable to locate package python3-venv

然后改为运行:

sudo apt install python3.6-venv

关于python - 如何在 ubuntu 16.04 上将 virtualenv 与 python3.6 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47822740/

相关文章:

python - 有没有办法在等待后检查我传递给协程的参数?

python - 输入一个句子并计算每个字母?

c++ - 如何使用 QT Creator 在 LineEdit 中写入和读取文本?

ruby - 在 ubuntu 14.0.4 (Ruby 1.8.7) 中安装 nokogiri 时出错

javascript - Grunt 安装在 Ubuntu 上但无法正常工作

python - Ansible - 尝试 python3.5 时找不到 Virtualenv 可执行文件

python - conda 安装在 conda 创建的 virtualenv 中不起作用

python - 无法识别激活 virtualenv 命令

python - 计算 S3 存储桶中的键

python - + : int and str in a while loop 不受支持的操作数类型