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

例如:

pip install beautifulsoup4

默认为Python 2.6安装BeautifulSoup

当我这样做的时候:

import bs4

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

No module named bs4

当前回答

或者,因为pip本身是用python编写的,你可以用你想要安装的python版本来调用它:

python2.7 -m pip install foo

其他回答

我认为这里的最佳实践是不使用系统python或安装任何系统python包(没有apt install)。那只会招来麻烦。

相反,从源代码构建所需的Python版本,将其安装在/usr/local/... .中然后使用pip为其安装包。在Ubuntu上从源代码构建Python真的没有那么难。

Sudo apt安装build-essential 从https://www.python.org/downloads/source/下载源代码 解压下载的文件:tar xf <filename> CD <directory> -更改为创建的目录。 . / configure 使 Sudo make install

然后检查/usr/local/bin是否有绑定到该版本的pip脚本。用它来安装你需要的任何东西。还可以在该目录中找到python版本的特定可执行文件。如果你有很多版本,你可能需要调整一下。

再次强调,不要乱用系统python。

我在另一个名为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

您可以使用这种语法

python_version -m pip install your_package

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

python3 -m pip install numpy

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

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

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

py -2 -m pip install pyfora