Jak mogę zainstalować s3cmd na Mac OS X Yosemite?

11

Korzystam z systemu Mac OS X Yosemite i chcę zainstalować s3cmdz S3Tools . Oto podsumowanie tego, co dotychczas zrobiłem:

  1. Pobrałem i rozpakowałem .tar.gz.
  2. Przeniesiono wynikowy katalog do /usr/local/src
  3. cd /usr/local/src/s3cmd-1.5.0
  4. sudo python setup.py install
  5. s3cmd --configure, wyświetla komunikat o błędzie z informacją Please install the python dateutil module
  6. Zainstalowano Homebrew
  7. brew install python (aby zainstalować pip)
  8. pip install python-dateutil
  9. s3cmd --configurelub s3cmd du s3://bucket-name

W kroku 9 nadal pojawia się komunikat o błędzie dotyczący dateutilmodułu:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
mpavey
źródło
Hmm działało dla mnie dobrze, właśnie zrobiłem klon git github.com/s3tools/s3cmd, a następnie uruchomiłem instalację sudo python setup.py z tego folderu
Optichip

Odpowiedzi:

22

Lub możesz to uprościć i użyć Homebrew do zainstalowania / zarządzania wieloma narzędziami AWS, w tym s3cmd

  1. Zainstaluj Homebrew, uruchamiając to polecenie

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Poszukaj odpowiedniego kodu

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

    brew install s3cmd
    

Instalator wykona całą brudną robotę, w tym uzyskać zależności i dowiązanie symboliczne do folderu / Aplikacje (w zależności od zainstalowanej aplikacji).

  1. Chcesz najnowszą wersję?

    brew update
    

Używam tego do narzędzi awscli od miesięcy z wielkim sukcesem. GL.

SaxDaddy
źródło
0
  1. Pobierz źródło python-dateutil
  2. Wyodrębnij to, np. /usr/local/src/python-dateutil-2.4.0
  3. cd /usr/local/src/python-dateutil-2.4.0 (lub inny katalog, do którego go rozpakowałeś)
  4. sudo python2.7 setup.py install
  5. s3cmd --configure

(Odpowiadając na moje pytanie tutaj. Jeśli ktoś może mi powiedzieć, dlaczego to działa, a poprzednie podejście nie chciałbym wiedzieć!)

mpavey
źródło
Jaka jest twoja domyślna systemowa wersja python? Używanie wersji 2.7 zamiast 3 mogło być wszystkim, co musisz zrobić.
Optichip,
Homebrew nie zastępuje wersji Pythona zainstalowanej w OSX (która jest połączona z / usr / bin /), instaluje nową kopię w / usr / local / bin. Jeśli / usr / bin znajduje się przed / usr / local / bin w twojej ścieżce $, będziesz używać wersji Pythona w OSX, a nie homebrew. Będziesz także musiał zrestartować powłokę po zainstalowaniu Pythona Homebrew, aby zaktualizować zmienną środowiskową. Spróbuj which pythonzobaczyć, co tak naprawdę prowadzisz.
stib
Dzięki obu. @Optichip, wersja 2.7 jest wersją domyślną. Kiedy uruchamiam which python, otrzymuję: /Library/Frameworks/Python.framework/Versions/2.7/bin/python@stib, to bardzo pomocne informacje, dzięki. Wydaje mi się, że wciąż jestem trochę niepewny, dlaczego wcześniej byłem w stanie działać pippoprawnie, ale nie udało mi się dateutilszainstalować. Czy to dlatego, że jedyną pipzainstalowaną wersją była Homebrew, a więc (w kroku 8) została zainstalowana dateutilsw Pythonie Homebrew?
mpavey,