从本地库导入boto

时间:2012-03-13 20:45:39

标签: python boto

我正在尝试将boto用作下载的库,而不是在我的机器上全局安装它。我能够导入boto,但是当我运行boto.connect_dynamodb()时出现错误:

ImportError: No module named dynamodb.layer2

这是我的文件结构:

project/
    project/
        __init__.py
        libraries/
            __init__.py
            flask/
            boto/
        views/
            ....
        modules/
            __init__.py
            db.py
            ....
        templates/
            ....
        static/
            ....
    runserver.py

相关文件的内容如下:

项目/项目/模块/ db.py

from project.libraries import boto

conn = boto.connect_dynamodb(
  aws_access_key_id='<YOUR_AWS_KEY_ID>',
  aws_secret_access_key='<YOUR_AWS_SECRET_KEY>')

我做错了什么?提前谢谢。

2 个答案:

答案 0 :(得分:2)

我强烈建议使用virtualenv。这正是它的设计目标。

如果由于某种原因无法实现,请确保将boto安装目录添加到PYTHONPATH。所以,从你的例子可以这样:

export PYTHONPATH=/path_to_project/project/libraries

应该允许事情发挥作用。但同样,virtualenv是你的朋友。

答案 1 :(得分:0)

虽然我同意garnaat关于virtualenv的优点(没有双关语),但我认为您的问题可能是您的boto版本没有DynamoDB支持。例如,我最近使用pip安装了boto,而我的版本是2.0。您可以使用boto.Version

检查您的版本

根据发行说明(见下面的链接),2.2.0版本中添加了DynamoDB支持。

你最容易做的事情(如果安装了git)是从GitHub克隆它:

git clone https://github.com/boto/boto.git

或者,如果您没有安装git并且不想安装它,则可以从GitHub(ZIPtarball)获取最新版本标记(2.3.0)。 / p>

参考