多个 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 与特定脚本一起使用。
- 安装 python 2.6(比方说
/usr/bin/python2.6
)
使用 python 2.6 创建一个 virtuanlenv :
virtualenv -p /usr/bin/python2.6 my_venv
进入虚拟环境
CD my_env
来源 bin/activate
检查python版本(应该return python 2.6.x)
python
用pip安装模块:
pip 安装 boto
boto
将与 python 2.6 一起安装,因此您将能够使用您的脚本。
如果由于某种原因 pip
未安装:
yum install python-pip
我在 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 文件夹
我不知道它是如何创建的。
现在我使用
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 与特定脚本一起使用。
- 安装 python 2.6(比方说
/usr/bin/python2.6
) 使用 python 2.6 创建一个 virtuanlenv :
virtualenv -p /usr/bin/python2.6 my_venv
进入虚拟环境
CD my_env 来源 bin/activate
检查python版本(应该return python 2.6.x)
python
用pip安装模块:
pip 安装 boto
boto
将与 python 2.6 一起安装,因此您将能够使用您的脚本。
如果由于某种原因 pip
未安装:
yum install python-pip