Импорт бото из локальной библиотеки - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь использовать 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

И содержимоесоответствующие файлы следующим образом:

проект / проект / modules / 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 ]

2 голосов
/ 14 марта 2012

Я очень рекомендую использовать virtualenv.Это именно та ситуация, для которой он предназначен.

Если это по какой-либо причине невозможно, обязательно добавьте каталог установки boto в PYTHONPATH.Итак, из вашего примера что-то вроде этого:

export PYTHONPATH=/path_to_project/project/libraries

должно позволить вещам работать.Но опять же, virtualenv - твой друг.

0 голосов
/ 19 марта 2012

Хотя я согласен с garnaat в отношении достоинств (без каламбура) virtualenv, я думаю, что ваша проблема может заключаться в том, что ваша версия boto не имеет поддержки DynamoDB. Например, я недавно установил boto, используя pip, и у меня версия 2.0. Вы можете проверить свою версию с boto.Version

Поддержка DynamoDB была добавлена ​​в версии 2.2.0 в соответствии с примечаниями к выпуску (см. Ссылку ниже).

Самое простое для вас (если у вас установлен git) - это клонировать его из GitHub:

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

Или, если у вас не установлен git и вы не хотите его устанавливать, вы можете получить тег последней версии (2.3.0) из GitHub ( ZIP или tarball * 1012) *).

Ссылки

...