boto 上的导入错误-未找到模块

boto 上的导入错误-未找到模块

我有一台 ubuntu LTS 服务器。启动时我运行一个脚本,该脚本执行以下操作:

#!/bin/bash
apt-get -y install build-essential python-dev libxml2-dev libxslt1-dev
apt-get -y install python-pip python-virtualenv                                      
mkdir /etc/test/venv
virtualenv /etc/test/venv
. /etc/test/venv/bin/activate
pip install -r /etc/test/requirements.txt
cd /etc/test/utilities/                             
chmod +x worker.py                                     
./worker.py &                                          
exit 0

我知道这可以正常执行。在我的 requirements.txt 中,我有以下内容:

boto
scrapy

然后在我的 worker.py 中它以以下代码开始:

#!/usr/bin/env python
import logging
import boto.swf.layer2 as swf

我收到的错误是:

Import Error: No module named boto.swf.layer2

我不知道从哪里开始了解出了什么问题。是路径错误,还是 boto 安装不正确?

答案1

您的 AMI 上可能预装了旧版本的 boto,该版本尚不支持 SWF Layer 2。

通过在 shell 中输入以下内容进行检查:

python -c "import boto; print boto.Version"

我认为 SWF Layer 2 是在版本 2.7 中添加的,在此之前的任何版本都无法工作。 以下是将 Layer2 添加到 SWF 的提交

最简单的选择是将 -U 添加到您的 pip 命令中,这样它会更新您的软件包(如果它们已经安装):

pip install -U -r /etc/test/requirements.txt

相关内容