我正在使用 Mac OS X Yosemite,并希望s3cmd
从S3工具。以下是我目前所做工作的总结:
- 下载并解压
.tar.gz
。 - 将结果目录移动到
/usr/local/src
cd /usr/local/src/s3cmd-1.5.0
sudo python setup.py install
s3cmd --configure
,显示错误消息Please install the python dateutil module
- 安装 Homebrew
brew install python
(安装 pip)pip install python-dateutil
s3cmd --configure
, 或者s3cmd du s3://bucket-name
在步骤 9 我仍然收到有关该模块的错误消息dateutil
:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ImportError trying to import dateutil.parser.
Please install the python dateutil module:
$ sudo apt-get install python-dateutil
or
$ sudo yum install python-dateutil
or
$ pip install python-dateutil
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
答案1
或者你可以保持简单并使用 Homebrew 来安装/管理许多 AWS 工具,包括 s3cmd
通过运行此命令安装 Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
寻找您想要的代码
$ brew search s3 s3-backer s3cmd s3fs s3sync unfs3
安装 s3cmd
brew install s3cmd
安装程序将完成所有繁重的工作,包括获取依赖项和符号链接到您的 /Applications 文件夹(取决于您安装的应用程序)。
想要最新版本吗?
brew update
几个月来我一直将其用于 awscli 工具,并取得了巨大的成功。祝您好运。
答案2
- 下载源代码
python-dateutil
- 将其提取到例如
/usr/local/src/python-dateutil-2.4.0
cd /usr/local/src/python-dateutil-2.4.0
(或者你将其解压到的任何目录)sudo python2.7 setup.py install
s3cmd --configure
(在这里回答我自己的问题。如果有人能告诉我为什么这个方法有效而以前的方法无效,我会很想知道!)
答案3
我不想从源代码构建它,并且brew
抱怨需要更新 xcode(*叹息)...所以我创建了一个 docker 镜像。
希望这对某人有帮助。
用法
# setup
docker run -it --rm -v "$(pwd):/root" mountainpass/s3cmd s3cmd --configure
# run
docker run -it --rm -v "$(pwd):/root" mountainpass/s3cmd s3cmd sync ./yourfolder \
s3://yourbucket/ \
--acl-public \
--add-header=Cache-Control:max-age=3600 \
--recursive