Como posso instalar o s3cmd no Mac OS X Yosemite?

11

Estou usando o Mac OS X Yosemite e quero instalar a s3cmdpartir do S3Tools . Aqui está um resumo do que fiz até agora:

  1. Baixado e extraído o .tar.gz.
  2. Moveu o diretório resultante para /usr/local/src
  3. cd /usr/local/src/s3cmd-1.5.0
  4. sudo python setup.py install
  5. s3cmd --configure, exibe a mensagem de erro informando Please install the python dateutil module
  6. Homebrew instalado
  7. brew install python (para instalar o pip)
  8. pip install python-dateutil
  9. s3cmd --configureou s3cmd du s3://bucket-name

Na etapa 9, ainda recebo a mensagem de erro sobre o dateutilmódulo:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
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
fonte
Hmm funcionou bem para mim, eu apenas fiz um clone do git github.com/s3tools/s3cmd e executei a instalação do sudo python setup.py a partir dessa pasta
Optichip

Respostas:

22

Ou você pode simplificar e usar o Homebrew para instalar / gerenciar muitas das ferramentas da AWS, incluindo s3cmd

  1. Instale o Homebrew executando este comando

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Procure o código que você deseja

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

    brew install s3cmd
    

O instalador fará todo o trabalho sujo, incluindo obter dependências e link simbólico para sua pasta / Aplicativos (dependendo do aplicativo que você instala).

  1. Quer a versão mais recente?

    brew update
    

Eu tenho usado isso para as ferramentas awscli há meses com grande sucesso. GL.

SaxDaddy
fonte
0
  1. Faça o download da fonte de python-dateutil
  2. Extraia para, por exemplo, /usr/local/src/python-dateutil-2.4.0
  3. cd /usr/local/src/python-dateutil-2.4.0 (ou qualquer diretório em que você o extraiu)
  4. sudo python2.7 setup.py install
  5. s3cmd --configure

(Respondendo à minha própria pergunta aqui. Se alguém puder me dizer por que isso funciona e a abordagem anterior, eu não adoraria saber!)

mpavey
fonte
Qual é a sua versão padrão do python do sistema? Usar a versão 2.7 em vez de 3 pode ter sido tudo o que você precisava fazer.
Optichip
O Homebrew não substitui a versão instalada do OSX do python (que está vinculada a partir de / usr / bin /), instala uma nova cópia em / usr / local / bin. Se / usr / bin estiver antes de / usr / local / bin no seu caminho $, você usará a versão OSX do python, não a versão homebrew. Além disso, você precisará reiniciar o shell após instalar o python do homebrew para atualizar a variável de ambiente. Tente which pythonver o que você está realmente executando.
STIB
Obrigado a ambos. @ Optichip, versão 2.7 é a versão padrão. Quando corro which python, recebo: /Library/Frameworks/Python.framework/Versions/2.7/bin/python@stib, informações muito úteis, obrigado. Eu acho que ainda estou um pouco incerto por que eu era capaz de executar com pipsucesso, mas ainda não obtive o dateutilsinstalado. É porque a única pipinstalada foi a versão Homebrew e, por isso (na etapa 8), foi instalada dateutilsno python Homebrew?
Mpavey