安装并尝试运行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:
升级到最新的Amazon Linux发行版2015.03.0后出现此错误
看起来像是发生了错误,因为python2.7现在是Amazon Linux 2015.03.0+中的默认python版本如果将python更改回2.6并运行s3cmd,它应该可以正常工作
update-alternatives --set python /usr/bin/python2.6 s3cmd -h
运行s3cmd命令后,可以将python放回到yum和其他实用程序的2.7:
update-alternatives --set python /usr/bin/python2.7 yum install <package>
vi /usr/bin/s3cmd
在第一行添加2.6,所以它看起来像:
#!/usr/bin/python2.6
保存文件和s3cmd将工作。 只要你的系统上有/usr/bin/python2.6
我遇到了与ImportError: No module named S3.ExitCodes
类似的错误,但模块名称不同: ImportError: No module named S3.ExitCodes
在我的情况下,我可以这样解决问题: yum install python-pip
,然后pip install s3cmd
。 之后s3cmd工作正常。
以前的答案都不适合我,但是从sourcegraph aws-cli dockerfile复制了几行:
FROM python:2
运行apt-get update -q
运行apt-get install -qy python -pip groff-base
运行pip安装awscli