【问题标题】:How to use virtualenv with python3.6 on ubuntu 16.04?如何在 ubuntu 16.04 上将 virtualenv 与 python3.6 一起使用?
【发布时间】:2018-05-29 02:19:42
【问题描述】:

我使用的是 Ubuntu 16.04,它带有 Python 2.7 和 Python 3.5。我已经在上面安装了 Python 3.6,并通过alias python3=python3.6 将 python3 符号链接到 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']

我该怎么办?

【问题讨论】:

  • 你试过update-alternatives吗?
  • @AhmedNourEideen 我拒绝了你的proposed edit;请不要将code 格式添加到things which are not code

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    首先确保你已经安装了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

    【讨论】:

      【解决方案3】:

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

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

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

      source /etc/environment
      

      【讨论】:

      • 没有什么对我有用。我已经尝试了所有解决方案,但都没有奏效。哪个版本的 Ubuntu 已经解决了这个 bug,所以我只需安装它并卸载我拥有的?
      【解决方案4】:

      通过ppa:deadsnakes/ppa而不是ppa:jonathonf/python-3.6安装python3.6python3.6-venv对我有用

      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
      

      【讨论】:

      • 这对我有用。似乎最近在 jonathonf 存储库中引入了一些错误。我需要先降级到标准包,请参阅askubuntu.com/a/899668/320633
      【解决方案5】:

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

      【讨论】:

      • 非常彻底的答案,但更多错误是由 'sudo apt install python3.6-venv' 导致的,所以我变得懒惰并选择了 Orny 的答案,这似乎有效。
      • E: 无法找到包 python3.6-venv E: 无法通过 glob 'python3.6-venv' 找到任何包 E: 无法通过正则表达式 'python3.6 找到任何包-venv'
      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      相关资源
      最近更新 更多