AWS aws.push 导入错误:在Ubuntu中没有名为boto的模块

21 投票
8 回答
54528 浏览
提问于 2025-04-18 04:45

我正在按照这个教程进行操作: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html

目的是在AWS上用Ubuntu部署一个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,这次一切都正常了。

8 个回答

4

我在Mac OS High Sierra上安装boto时也遇到了同样的问题:

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模块了。

8

安装Python模块的时候,一定要注意查看安装过程中的输出信息,确认安装是否成功。在Mac或Linux系统上,我需要使用sudo命令才能正确安装boto这个模块。

sudo pip install boto
20

如果你在没有安装pip的OSX系统上:

sudo easy_install pip
sudo pip install boto
40

发生的事情是,在那个特定的AWS教程中,使用的eb命令行工具(可以在这里找到:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html)没有提供最新版本的boto。

当你执行了

pip install boto

这条命令时,你从https://github.com/boto/boto安装了最新版本,这就解决了问题。

-10

请查看我在上面帖子中的评论。

撰写回答