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

时间:2017-06-25 16:51:48

标签: python python-2.7 boto

我在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 Traceback(最近一次调用最后一次):   文件"",第1行,in ImportError:没有名为boto的模块

为什么没有进口?请帮忙

1 个答案:

答案 0 :(得分:3)

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 virtualenv。第一个命令指向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

所以,你在Centos 7上,它提供了python 2.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. 输入virtualenv

    cd my_env 来源/激活

  4. 检查python版本(应返回python 2.6.x)

  5. 使用pip安装模块:

    pip install boto

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

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

    yum install python-pip