The Computer Oracle

How can I install s3cmd on Mac OS X Yosemite?

--------------------------------------------------
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------

Music by Eric Matyas
https://www.soundimage.org
Track title: Riding Sky Waves v001

--

Chapters
00:00 How Can I Install S3cmd On Mac Os X Yosemite?
01:04 Answer 1 Score 0
01:36 Accepted Answer Score 26
02:20 Answer 3 Score 0
02:39 Thank you

--

Full question
https://superuser.com/questions/866621/h...

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#macos #mac #installation #python #s3cmd

#avk47



ACCEPTED ANSWER

Score 26


Or you can keep it simple and use Homebrew to install/manage many of the AWS tools, including s3cmd

  1. Install Homebrew by running this command

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Look for the code you want

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

    brew install s3cmd
    

The installer will do all of the dirty work including get dependancies and symlink to your /Applications folder (depending on the app you install).

  1. Want the latest version?

    brew update
    

I've been using this for the awscli tools for months with great success. GL.




ANSWER 2

Score 0


  1. Download the source of python-dateutil
  2. Extract it to, e.g., /usr/local/src/python-dateutil-2.4.0
  3. cd /usr/local/src/python-dateutil-2.4.0 (or whatever directory you extracted it to)
  4. sudo python2.7 setup.py install
  5. s3cmd --configure

(Answering my own question here. If someone can tell me why this works and the previous approach didn't I'd love to know!)




ANSWER 3

Score 0


I didn't want to build it from source, and brew was complaining about needing to update xcode (*sigh)... so I created a docker image instead.

Hope this helps someone.

Usage

# 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