问题描述
我正在尝试按照本教程:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html
为了使用Ubuntu在AWS中部署Ruby on Rails应用程序。
一切顺利(我可以在本地运行我的应用程序),直到最后一步。当我运行aws.push时,我得到下一个错误。
roberto@ubuntu:~/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: No module named boto并运行:
pip install boto
pip freeze > reqIuirements.txt
git add .
git commit -m "Added boto"
git aws.push
但结果仍然相同。
更新:我认为问题与我的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
,这次一切都好了。
最佳解决办法
发生的事情是该特定AWS教程(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html)中提供的eb命令行界面未提供最新版本的boto。
当你做到了
pip install boto
您安装了https://github.com/boto/boto的最新版本,解决了这个问题。
次佳解决办法
如果在OSX上没有安装pip:
sudo easy_install pip
sudo pip install boto
第三种解决办法
确保在安装Python模块时查看输出以验证安装是否正确进行。在Mac /Linux上,我必须运行sudo才能正确安装boto。
sudo pip install boto
第四种办法
在Mac OS High Sierra上我遇到了与boto
安装相同的问题:
boto
要求在系统中设置PYTHONPATH
。首先安装boto:
sudo pip install boto
安装后,它将返回boto
安装在日志中的路径。使用相同的路径将导出添加为PYTHONPATH
Requirement already satisfied: boto in /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
模块。
第五种办法
如果您在下载boto后仍然遇到问题,请确保您的脚本能够通过定义PYTHONPATH环境变量来访问您的site-packages。
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
第六种办法
在上面的帖子中查看我自己的评论。