多个 Python 导致 boto 安装在错误的位置

Multiple Python leads to installation of boto at wrong location

我在 Centos7 上。我有多个 Python 版本(在 python 中完全是新手)。 一个在我的根文件夹名称 Python-2.6.6 中,我按照以下步骤安装了它:

wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
 tar -zxvf Python-2.6.6.tgz
 cd Python-2.6.6
 sudo yum install gcc gcc-c++
 make 
 make install

但是 /usr/lib/python2.7/site-packages 也有一个 Python 文件夹 我不知道它是如何创建的。 现在我使用

安装了 boto
sudo yum -y install python-pip
sudo pip install boto

安装以注释结束 正在安装收集的软件包:boto 成功安装boto-2.47.0

现在,当我执行 python --version 时,我确实得到了 Python 2.6.6,这是预期的

which python : /usr/local/bin/python

但是当我这样做时 import boto 我明白了 导入boto 追溯(最近一次通话): 文件“”,第 1 行,位于 导入错误:没有名为 boto

的模块

为什么你没有导入?请帮助

CentOs 7 默认附带 python 2.7。

您使用 pip 安装了 boto,从 "bind" 到 python 2.7,这就是您无法使用 python 2.6 导入 boto 的原因。 pip 绑定到 python2.7,因为它是 CentOs 7 中的默认版本。

你应该使用 virtualenv。它允许您创建具有特定 python 版本的 python 环境并安装所需的模块。

示例:

virtualenv -p /usr/bin/python2.7 /home/user/my_project
cd ./my_project
source bin/active

现在你在 python 虚拟环境中。第一个命令指向 python2.7,但您可以使其指向任何已安装的 python 版本(已编译,来自 repos 等)。获取 active 文件后,您可以使用 pip

安装模块

编辑

到 运行 使用您的 virtualenv 的脚本(没有采购 ./bin/active):

/home/user/my_project/bin/python /path/my_script.py

如果你使用这个命令:

source bin/activate

然后你可以使用pip添加一个lib到virtualenv。

编辑 2

那么,您使用的是 python 2.7 提供的 Centos 7。您想将 python 2.6 与特定脚本一起使用。

  1. 安装 python 2.6(比方说 /usr/bin/python2.6
  2. 使用 python 2.6 创建一个 virtuanlenv :

    virtualenv -p /usr/bin/python2.6 my_venv

  3. 进入虚拟环境

    CD my_env 来源 bin/activate

  4. 检查python版本(应该return python 2.6.x)

    python

  5. 用pip安装模块:

    pip 安装 boto

boto 将与 python 2.6 一起安装,因此您将能够使用您的脚本。

如果由于某种原因 pip 未安装:

yum install python-pip