Ответ 1
Смотрите мои комментарии в сообщении выше.
Я пытаюсь следовать этому руководству: 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
, и на этот раз все прошло нормально.
Смотрите мои комментарии в сообщении выше.
Что произошло, так это то, что интерфейс командной строки eb, доступный в этом конкретном учебнике AWS (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html), не предоставляет последнюю версию boto.
Когда вы сделали
pip install boto
вы установили последнюю версию из https://github.com/boto/boto, которая решила проблему.
Если на OSX без подключения:
sudo easy_install pip
sudo pip install boto
Убедитесь, что при установке модулей Python вы просматриваете вывод, чтобы убедиться, что установка выполнена правильно. В Mac/Linux мне пришлось запустить sudo, чтобы установить boto для правильной установки.
sudo pip install boto
Если после загрузки boto у вас все еще остаются проблемы, убедитесь, что ваш скрипт может получить доступ к пакетам вашего сайта, определив переменную окружения PYTHONPATH.
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
У меня была такая же проблема с установкой 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
в системе.
Я решил один и тот же. Спасибо, Mr.Stone
sudo easy_install pip
sudo pip install boto
Выполнение этих трех шагов помогает в случае возникновения ошибок при установке 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