s3cmd ImportError:没有名为S3.Exceptions的模块

nic*_*rix 5 python linux amazon-ec2 s3cmd

安装并尝试运行s3cmd 1.0.0 后收到错误

s3cmd -h

Problem: ImportError: No module named S3.Exceptions
S3cmd:   unknown version. Module import problem?

Traceback (most recent call last):
  File "/usr/bin/s3cmd", line 1995, in <module>
    from S3.Exceptions import *
ImportError: No module named S3.Exceptions

Your sys.path contains these entries:
Run Code Online (Sandbox Code Playgroud)

升级到最新的Amazon Linux发行版2015.03.0后出现此错误

nic*_*rix 19

看起来错误发生是因为python2.7现在是Amazon Linux 2015.03.0+中的默认python版本如果你将python改回2.6并运行s3cmd它应该没有问题

update-alternatives --set python /usr/bin/python2.6
s3cmd -h
Run Code Online (Sandbox Code Playgroud)

运行s3cmd命令后,您可以将python放回2.7以获取yum和其他实用程序:

update-alternatives --set python /usr/bin/python2.7
yum install <package>
Run Code Online (Sandbox Code Playgroud)


小智 11

vi /usr/bin/s3cmd
Run Code Online (Sandbox Code Playgroud)

在第一行添加2.6,如下所示:

#!/usr/bin/python2.6
Run Code Online (Sandbox Code Playgroud)

保存文件和s3cmd将工作.只要你的系统上有/usr/bin/python2.6


小智 11

我遇到了与s3cmd类似的错误,但模块名称不同: ImportError: No module named S3.ExitCodes

在我的情况下,我可以这样解决问题: yum install python-pip然后pip install s3cmd.之后s3cmd工作正常.