Linux
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?
您可能在 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