Linux

boto 上的導入錯誤 - 未找到模組

  • August 7, 2013

我有一個 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?

您可能在 AMI 上預裝了舊版本的 boto,但尚不支持 SWF 第 2 層。

通過在 shell 中輸入以下內容進行檢查:

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

我認為 SWF 第 2 層是在 2.7 版中添加的,在此之前的任何內容都行不通。 這是將 Layer2 添加到 SWF 的送出

您最簡單的選擇是將 -U 添加到您的 pip 命令中,以便在已安裝軟體包時更新您的軟體包:

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

引用自:https://serverfault.com/questions/528972