【问题标题】:How do I use pip 3 with Python 3.4?如何在 Python 3.4 中使用 pip 3?
【发布时间】:2015-06-25 02:10:55
【问题描述】:

我的操作系统是Lubuntu 14.04,默认的 Python 版本是 Python 2.7.6,但在

/usr/bin

它说我安装了 Python 3.4(当我运行 python3 -V 时它说我安装了 Python 3.4.0)。 Python 3.4 是否预装了pip?因为当我跑步时

pip -V

在终端中显示该程序当前未安装。话虽如此,假设我想创建一个使用 Python 3.4.3 的 Django 项目:我首先下载 python3-pip 然后 virtualenv 然后做

pip3 install Django==1.8

?还是我已经安装了 Python 3.4 附带的预安装 pip 3?

【问题讨论】:

    标签: python-3.x pip


    【解决方案1】:

    不要通过apt-get或其他方式安装python3-pip(因为repo中的版本太旧),下载get-pip.py,切换到保存它的文件夹,然后运行

    sudo python3 get-pip.py
    

    它将为您安装最新版本的pip。它可能会创建一个指向pip3 的符号链接,但可能不会,我不记得了。

    然后你可以运行

    sudo pip install virtualenv
    

    然后用它来创建你的virtualenv,激活它,然后使用安装在它里面的pip来获取Django。

    注意

    您可以使用 get-pip.py 的相同副本为 Python 2 安装 pip。但是,如果您想这样做,我建议您运行

    sudo python get-pip.py
    

    你跑步之前

    sudo python3 get-pip.py
    

    最后安装的任何一个都将采用pip 文件名。我不知道 Python 2 是否安装了一个名为 pip2 的命令(我知道通过 pip 升级 pip 确实如此),但是在运行 Python 2 安装后,运行

    sudo ln -s /usr/local/bin/pip2.7 /usr/local/bin/pip2
    

    创建一个pip2 别名。然后您可以运行 Python 3 安装,这将覆盖 /usr/local/bin/pip,然后运行

    sudo ln -s /usr/local/bin/pip3.4 /usr/local/bin/pip3
    

    同时创建一个pip3 命令(如果您收到文件已存在的错误消息,那么您就可以开始了)。现在,在安装到您的系统时运行 pip site-packages 并且不知道您正在调用哪个版本,您可以使用 pip2pip3 来明确说明您想要的版本。

    【讨论】:

    • 值得一提的是,python3.4 应该始终默认提供 pip。所以python3 -m pip 应该开箱即用。如果没有,则有 python -m ensurepip 来引导 pip。 get-pip.py 在这里不需要。
    • @cel,是的,谢谢你的澄清。我选择get-pip.py 的原因是因为我不确定Ubuntu 和衍生产品是否会自动安装pippython3 包,因为还存在python3-pip 包。我的系统现在是如此定制,以至于我不记得我第一次安装时的样子:) 使用get-pip.py 的另一个原因是它还更新了setuptools,否则可能无法完成。
    【解决方案2】:

    在以前的 (X)Ubuntu 版本中,它可以在您的 bash 终端中的 pip3 下找到,但是在 Xubuntu 16.04.1 LTS 中我没有出现这样的命令。我创立了pip(python2.7版本)、pip2pip2.7

    您知道pip 位于python3-pip 下的存储库中。如果你想在 repo 中使用 pip,你必须先安装它。 回答你的问题,

    如何在 Ubuntu 中使用pip3

    sudo python3 -m pip install <your-pypi>
    

    也许对你来说将 pip3 作为命令更容易。然后,你需要升级它:

    sudo python3 -m pip install --upgrade pip
    

    它会创建pip3pip3.5 **但是** 它也会修改pip。它对我有用,现在如果我这样做 pip -V 它会显示(python 3.5)。也许这个替换是 Ubuntu 不包含 pip3 二进制文件作为命令的原因。

    2019 年 6 月更新:

    自去年以来,我一直在使用 Ubuntu 18.04.x LTS。我创建了本地安装的(在 ~/.local 中)pip 命令指向pip2(如python 总是指向python2)和pip3 指向我的最后一个版本的pip for python3.x 正如预期的那样。所以从 repo 安装包python3-pip 是安全的。虽然一开始python2是在系统级别安装的,但是在/usr/bin/中没有包含pip或者pip2命令

    【讨论】:

      【解决方案3】:

      我在 debian 派生的操作系统(bunsenlabs 氢)上安装了 python 3.4.2,我花了很多时间试图解决问题,然后才找到这个线程。使用 get-pip.py 对我有用,但不像这个线程中显示的那样。以下是对我有用的顺序。顺便说一句,在运行之前我必须运行:

      apt-get 删除 python3-pip

      因为另一个线程建议安装“python3-pip”。那个包给了我 pip,但我收到了缺少“ensurepip”的错误。

      这是我的有效序列:

      1) download get-pip.py using the instruction given by MattDMo above
      2) sudo python3 get-pip.py
      3) sudo python3 -m pip install virtualenv
      4) as normal user:
          % cd $HOME
          % mkdir testenv
          % python3 -m virtualenv testenv
      

      感谢 MattDMo 提供了有效方法的解释。

      【讨论】:

      • 为什么卸载pip只是为了重新安装?
      • 有点像在铺新地毯之前清洁地板。我不知道现有的 python3-pip 安装是否会污染我的下一步。
      猜你喜欢
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 2021-12-11
      相关资源
      最近更新 更多