AWS aws.push ImportError: в Ubuntu нет модуля с именем boto

Я пытаюсь следовать этому руководству: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html

чтобы развернуть приложение Ruby on Rails в AWS с помощью Ubuntu.

Все прошло нормально (я могу запускать свое приложение в локальном режиме) до последнего шага. Когда я запускаю aws.push, я получаю следующую ошибку.

   [email protected]:~/dev/myapp$ git aws.push
Traceback (most recent call last):
  File ".git/AWSDevTools/aws.elasticbeanstalk.push", line 21, in <module>
    from aws.dev_tools import * 
  File "/home/roberto/dev/myapp/.git/AWSDevTools/aws/dev_tools.py", line 5, in <module>
    import boto
ImportError: No module named boto

Я прочитал этот пост git aws.push: Нет модуля с именем boto и запустил:

pip install boto
pip freeze > reqIuirements.txt
git add .
git commit -m "Added boto"
git aws.push

Но все тот же результат.

UPDATE: Я думаю, что проблема связана с моими версиями python. Когда я запускаю which python, я получаю /usr/bin/python. Если я использую эту папку, я вижу python, python2, python2.7, python3, python3.4.

Когда я запускаю python, я получаю:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Я не знаю, что делать.

Проблема заключалась в том, что первая установка boto не работала из-за проблем с разрешениями, и я не понимал. Я побежал sudo pip install boto, и на этот раз все прошло нормально.

Ответы

Ответ 1

Смотрите мои комментарии в сообщении выше.

Ответ 2

Что произошло, так это то, что интерфейс командной строки eb, доступный в этом конкретном учебнике AWS (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html), не предоставляет последнюю версию boto.

Когда вы сделали

pip install boto

вы установили последнюю версию из https://github.com/boto/boto, которая решила проблему.

Ответ 3

Если на OSX без подключения:

sudo easy_install pip
sudo pip install boto

Ответ 4

Убедитесь, что при установке модулей Python вы просматриваете вывод, чтобы убедиться, что установка выполнена правильно. В Mac/Linux мне пришлось запустить sudo, чтобы установить boto для правильной установки.

sudo pip install boto

Ответ 5

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

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

Ответ 6

У меня была такая же проблема с установкой boto на Mac OS High Sierra:

boto требуется PYTHONPATH для установки в системе. Сначала установите boto:

sudo pip install boto

После установки он вернет путь, по которому установлен boto в логах. Используйте тот же путь, чтобы добавить экспорт как PYTHONPATH

Требование уже выполнено: boto в /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (2.48.0)

export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

После добавления PYTHONPATH python сможет обнаружить модуль boto в системе.

Ответ 7

Я решил один и тот же. Спасибо, Mr.Stone

sudo easy_install pip
sudo pip install boto

Ответ 8

Выполнение этих трех шагов помогает в случае возникновения ошибок при установке pip/python.

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py 
$ sudo pip install boto

Или, если вы находитесь на Mac, вы можете попробовать установить Python3.

https://www.python.org/ftp/python/3.5.2/python-3.5.2-macosx10.6.pkg, тогда установите его (путь к пользовательскому интерфейсу, если хотите).

$ sudo pip3 install boto