Как я могу установить s3cmd на Mac OS X Yosemite?

11

Я использую Mac OS X Yosemite и хочу установить s3cmdиз S3Tools . Вот краткое изложение того, что я сделал до сих пор:

  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 (установить пипс)
  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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
mpavey
источник
Хм работал хорошо для меня, я просто сделал git clone github.com/s3tools/s3cmd, а затем запустил установку sudo python setup.py из этой папки
Optichip

Ответы:

22

Или вы можете сделать это простым и использовать 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 в течение многих месяцев с большим успехом. GL.

SaxDaddy
источник
0
  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

(Отвечая на мой собственный вопрос здесь. Если кто-то может сказать мне, почему это работает, и предыдущий подход не хотел бы знать!)

mpavey
источник
Какая у вас версия Python для системы по умолчанию? Использование версии 2.7 вместо 3 - все, что вам нужно.
Оптичип
Homebrew не перезаписывает установленную OSX версию python (которая связана с / usr / bin /), а устанавливает новую копию в / usr / local / bin. Если / usr / bin находится перед / usr / local / bin в вашем пути $, то вы будете использовать версию Python для OSX, а не домашнюю версию. Также вам придется перезапустить вашу оболочку после установки python homebrew, чтобы обновить переменную окружения. Попробуйте which pythonпосмотреть, что вы на самом деле бежите.
STIB
Спасибо обоим. @Optichip, версия 2.7 является версией по умолчанию. Когда я бегу, which pythonя получаю: /Library/Frameworks/Python.framework/Versions/2.7/bin/python@stib, это очень полезная информация, спасибо. Я думаю, я все еще немного не уверен, почему раньше мне удавалось pipуспешно работать, но я не получил dateutilsустановленную версию. Это потому, что единственной pipустановленной версией была Homebrew, и поэтому (на шаге 8) она была установлена dateutilsна Python Homebrew?
mpavey