Как я могу установить s3cmd на Mac OS X Yosemite?
Я использую Mac OS X Yosemite и хочу установить s3cmd
от S3Tools. Вот краткое изложение того, что я сделал до сих пор:
- Скачал и распаковал
.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 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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 ответа
Или вы можете сделать это простым и использовать 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 в течение многих месяцев с большим успехом. GL.
- Скачать источник
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
(Отвечая на мой собственный вопрос здесь. Если кто-то может сказать мне, почему это работает, и предыдущий подход не хотел бы знать!)
Я не хотел собирать его из исходников, иbrew
жаловался на необходимость обновления xcode (*вздох)... поэтому вместо этого я создал образ докера.
Надеюсь, это кому-то поможет.
Применение
# 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