【问题标题】:Install a module using pip for specific python version使用 pip 为特定 python 版本安装模块
【发布时间】:2012-06-10 18:50:10
【问题描述】:

在 Ubuntu 10.04 上默认安装 Python 2.6,然后我安装了 Python 2.7。如何使用pip install 为 Python 2.7 安装包。

例如:

pip install beautifulsoup4

默认安装 BeautifulSoup for Python 2.6

当我这样做时:

import bs4

在 Python 2.6 中它可以工作,但在 Python 2.7 中它说:

No module named bs4

【问题讨论】:

标签: python pip


【解决方案1】:

另外,由于pip 本身是用 python 编写的,因此您可以使用要为其安装包的 python 版本调用它:

python2.7 -m pip install foo

【讨论】:

  • 当我在虚拟环境中使用 pip 安装时(但在某些情况下需要在系统 python 上运行它,并设置 PYTHONPATH - 例如,当使用任何依赖于 wxPython 的东西时),这是命令这对我有用。
  • 所有 Python2 和 Python3 问题的最佳解决方案!
  • 我应该注意,在 python 中调用模块的正确方法是使用python 2.7 -m pip install foo
  • 我不能对这个答案给予足够的支持。终于在 DietPi(Raspberry 发行版)上解决了这个痛苦的问题
  • 我很惊讶这个答案得到了如此多的支持。我真的不明白为什么它会起作用。
【解决方案2】:

使用针对要安装新包的 Python 实例安装的 pip 版本。

在许多发行版中,可能有单独的 python2.6-pippython2.7-pip 包,使用诸如 pip-2.6pip-2.7 之类的二进制名称调用。如果您的发行版中没有为所需目标打包 pip,您可能会寻找 setuptools 或 easyinstall 包,或使用 virtualenv(在生成的环境中始终包含 pip)。

pip 的网站includes installation instructions,如果您在您的发行版中找不到任何东西。

【讨论】:

  • 我既没有 pip-2.6 也没有 pip-2.7
  • @torayeff 您是否在寻找特定于版本的 pip 包?打包是特定于发行版的,因此您需要自己做一些工作(搜索可用的软件包列表)或询问特定于 Ubuntu 的支持渠道。
  • 我试过这个easy_install -d /usr/local/lib/python2.7/beautifulsoup4,但是不行,跑腿是什么意思?
  • @torayeff 与 pip 一样适用于 easy_install ——您应该使用针对您尝试为其安装软件包的解释器构建的版本。 “legwork”是一种口语,指的是努力,通常是各种在智力上不是特别具有挑战性但可能很耗时(想想类似于需要花时间四处走动的工作)......在这种情况下,回顾Ubuntu 软件包列表。
  • @torayeff ...再次,如果您找不到特定于 Python 2.7 的 pip 或易于安装的 Ubuntu 软件包,您可以按照我在我的链接中的说明手动安装 pip回答;请务必在执行这些说明时使用python2.7 可执行文件。
【解决方案3】:

您可以使用相应的python执行特定python版本的pip模块:

Python 2.6:

python2.6 -m pip install beautifulsoup4

Python 2.7

python2.7 -m pip install beautifulsoup4

【讨论】:

  • 我在网上搜索了很多次,寻找这个命令。我猜大多数人使用虚拟环境来解决这个问题,但对我来说这是一个更可行的策略。
  • 如果我在调用 pip install beautifulsoup4 的 python 脚本中怎么办。如何确保使用 -m 标志调用脚本?
  • 这是我拼图的最后一块,谢谢! pippip3 对我来说都被锁定到 python3.X,所以我不得不使用 this method 作为为 python2.7 安装 pip 的迂回方式
  • py -3.8 -m pip install beautifulsoup4 为我工作
【解决方案4】:

在Windows中,你可以通过提及python版本来执行pip模块(你需要确保启动器在你的路径上)

py -2 -m pip install pyfora

【讨论】:

  • 谢谢。在我的情况下它醒了。我有 3.4 和 3.7 版本。我必须运行 py -3.7 -m pip install -r requirements.txt 才能使用与 python 3.7 关联的 pip
  • 这应该是公认的答案。上面的其他都不起作用。
【解决方案5】:

你可以使用这个语法

python_version -m pip install your_package

例如。如果您运行的是 python3.5,则将其命名为“python3”,并希望安装 numpy 包

python3 -m pip install numpy

【讨论】:

  • 这就像我的回答,但更好,因为它不需要摆弄系统路径。
  • 现在看来这将是最好的答案。和我一起工作也很完美。
【解决方案6】:

已经在 Windows 机器上试过了,它可以工作

如果你想为 python 3.7 版安装 opencv,你可以这样做!

py -3.7 -m pip install opencv-python

【讨论】:

  • 我可以在没有管理员权限的情况下执行此操作吗?
  • @NaveenKumar 是的,你可以。这些包通常安装在 C:\Users\{user.account}\AppData\Roaming\Python\Python37\site-packages
【解决方案7】:

或者,如果你想用特定版本的python安装特定版本的包,是这样的

sudo python2.7 -m pip install pyudev=0.16

如果“=”不起作用,请使用 ==

x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev=0.16

无效要求:'pyudev=0.16' = 不是有效的运算符。你是说 == 吗?

x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev==0.16

工作正常

【讨论】:

  • 兄弟你是最棒的
【解决方案8】:

Python 2

sudo pip2 install johnbonjovi  

Python 3

sudo pip3 install johnbonjovi

【讨论】:

  • 当您安装了多个python3 时,这不起作用。我有3.43.5,我不能pip install3.4 提供任何东西。
【解决方案9】:

如果您同时安装了 2.7 和 3.x 版本的 python,那么只需将 python 3.x 版本的 python exe 文件重命名为 -“python.exe”到“python3.exe”。现在您可以分别对两个版本使用 pip。如果您通常键入“pip install”,它将默认考虑 2.7 版本。如果你想在 3.x 版本上安装它,你需要调用命令为“python3 -m pip install”。

【讨论】:

    【解决方案10】:

    对于 Python 3

    sudo apt-get install python3-pip
    sudo pip3 install beautifulsoup4
    

    对于 Python 2

    sudo apt-get install python2-pip
    sudo pip2 install beautifulsoup4
    

    在 Debian/Ubuntu 上,pip 是安装软件包时使用的命令 对于 Python 2,pip3 是安装时使用的命令 Python 3 的软件包。

    【讨论】:

    • 例如,当您同时拥有 python3.6 和 python3.7 时,此答案就会落空。然后 pip3 将只为默认的 python3 安装包。
    • @muyustan 你可以简单地做python3.x -m pip install beautifulsoup4 并将x 替换为想要的版本示例:python3.7 -m pip install beautifulsoup4
    【解决方案11】:

    python2 使用:

    py -2 -m pip install beautifulsoup4
    

    【讨论】:

      【解决方案12】:

      与任何其他 python 脚本一样,您可以指定要运行它的 python 安装。您可以将它放在您的 shell 配置文件中以保存别名。 $1 指的是您传递给脚本的第一个参数。

      # PYTHON3 PIP INSTALL V2
      alias pip_install3="python3 -m $(which pip) install $1"
      

      【讨论】:

      • 什么是 $(which pip) 和 $1"
      【解决方案13】:

      我在 Windows 上通过 chocolatey 安装了 Python 2.7,并在 C:\tools\python2\Scripts 中找到了 pip2.7.exe

      使用此可执行文件而不是 pip 命令为我安装了正确的模块(requests 用于 Python 2.7)。

      【讨论】:

        【解决方案14】:

        我在使用另一个名为 Twisted 的包时遇到了类似的问题。我想为 Python 2.7 安装它,但它只为 Python 2.6(系统默认版本)安装。

        做一个简单的改变对我有用。

        将 Python 2.7 的路径添加到 $PATH 变量时,将其附加到前面,如下所示:PATH=/usr/local/bin:$PATH,以便系统使用该版本。

        如果您遇到更多问题,可以关注这篇对我有帮助的博文 - https://github.com/h2oai/h2o-2/wiki/installing-python-2.7-on-centos-6.3.-follow-this-sequence-exactly-for-centos-machine-only

        【讨论】:

          猜你喜欢
          • 2021-12-21
          • 1970-01-01
          • 2020-02-01
          • 2021-12-03
          • 2017-06-26
          • 1970-01-01
          • 1970-01-01
          • 2021-01-30
          • 2020-05-14
          相关资源
          最近更新 更多