如何在 Mac OS X Yosemite 上安装 s3cmd?

如何在 Mac OS X Yosemite 上安装 s3cmd?

我正在使用 Mac OS X Yosemite,并希望s3cmdS3工具。以下是我目前所做工作的总结:

  1. 下载并解压.tar.gz
  2. 将结果目录移动到/usr/local/src
  3. cd /usr/local/src/s3cmd-1.5.0
  4. sudo python setup.py install
  5. s3cmd --configure,显示错误消息Please install the python dateutil module
  6. 安装 Homebrew
  7. brew install python(安装 pip)
  8. pip install python-dateutil
  9. 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

  1. 通过运行此命令安装 Homebrew

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. 寻找您想要的代码

    $ brew search s3
    s3-backer  s3cmd      s3fs   s3sync     unfs3
    
  3. 安装 s3cmd

    brew install s3cmd
    

安装程序将完成所有繁重的工作,包括获取依赖项和符号链接到您的 /Applications 文件夹(取决于您安装的应用程序)。

  1. 想要最新版本吗?

    brew update
    

几个月来我一直将其用于 awscli 工具,并取得了巨大的成功。祝您好运。

答案2

  1. 下载源代码python-dateutil
  2. 将其提取到例如/usr/local/src/python-dateutil-2.4.0
  3. cd /usr/local/src/python-dateutil-2.4.0(或者你将其解压到的任何目录)
  4. sudo python2.7 setup.py install
  5. 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

相关内容