s3cmd ImportError: No module named S3.Exceptions
s3cmd ImportError: No module named S3.Exceptions
安装并尝试 运行 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 放回 2.7 以用于 yum 和其他实用程序:
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
我在使用 s3cmd 时遇到了类似的错误,但模块名称不同:
ImportError: No module named S3.ExitCodes
就我而言,我可以这样解决问题:
yum install python-pip
然后 pip install s3cmd
。
之后 s3cmd 工作正常。
之前的答案都不适合我,但从 sourcegraph aws-cli dockerfile 中复制几行对我有用:
从python:2
运行 apt-get update -q
运行 apt-get install -qy python-pip groff-base
运行 pip 安装 awscli
s3cmd 在 sys.path 中与我的 python 的一个版本一起工作,它正在保持其他版本。
sudo vi /usr/bin/s3cmd
你会在起跑线上看到这一点。
import sys
我有两个 python 版本 python3.5 和 python3.6
让 运行 python3.5 然后 python3.6
import sys
print('\n'.join(sys.path))
将您的系统路径与 s3cmd 错误系统路径相匹配。这将使您确信您需要为此更改 sys 路径中的 python 版本。
现在:如何更改 sys.path python 版本?
echo $PYTHONPATH
sudo vi ~/.bashrc
export PYTHONPATH=/usr/bin/python3.6
安装并尝试 运行 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 放回 2.7 以用于 yum 和其他实用程序:
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
我在使用 s3cmd 时遇到了类似的错误,但模块名称不同:
ImportError: No module named S3.ExitCodes
就我而言,我可以这样解决问题:
yum install python-pip
然后 pip install s3cmd
。
之后 s3cmd 工作正常。
之前的答案都不适合我,但从 sourcegraph aws-cli dockerfile 中复制几行对我有用:
从python:2
运行 apt-get update -q
运行 apt-get install -qy python-pip groff-base
运行 pip 安装 awscli
s3cmd 在 sys.path 中与我的 python 的一个版本一起工作,它正在保持其他版本。
sudo vi /usr/bin/s3cmd
你会在起跑线上看到这一点。
import sys
我有两个 python 版本 python3.5 和 python3.6
让 运行 python3.5 然后 python3.6
import sys
print('\n'.join(sys.path))
将您的系统路径与 s3cmd 错误系统路径相匹配。这将使您确信您需要为此更改 sys 路径中的 python 版本。
现在:如何更改 sys.path python 版本?
echo $PYTHONPATH
sudo vi ~/.bashrc
export PYTHONPATH=/usr/bin/python3.6