¿Cómo puedo instalar s3cmd en Mac OS X Yosemite?

11

Estoy usando Mac OS X Yosemite y quiero instalar s3cmddesde S3Tools . Aquí hay un resumen de lo que he hecho hasta ahora:

  1. Descargado y extraído el .tar.gz.
  2. Se movió el directorio resultante a /usr/local/src
  3. cd /usr/local/src/s3cmd-1.5.0
  4. sudo python setup.py install
  5. s3cmd --configure, muestra un mensaje de error que dice Please install the python dateutil module
  6. Homebrew instalado
  7. brew install python (para instalar pip)
  8. pip install python-dateutil
  9. s3cmd --configureo s3cmd du s3://bucket-name

En el paso 9 sigo recibiendo el mensaje de error sobre el 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
fuente
Hmm funcionó bien para mí, solo hice un clon de git github.com/s3tools/s3cmd y luego ejecuté la instalación de sudo python setup.py desde esa carpeta
Optichip

Respuestas:

22

O puede hacerlo simple y usar Homebrew para instalar / administrar muchas de las herramientas de AWS, incluido s3cmd

  1. Instala Homebrew ejecutando este comando

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Busca el código que quieras

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

    brew install s3cmd
    

El instalador hará todo el trabajo sucio, incluidas las dependencias y el enlace simbólico a su carpeta / Aplicaciones (dependiendo de la aplicación que instale).

  1. ¿Quieres la última versión?

    brew update
    

He estado usando esto para las herramientas awscli durante meses con gran éxito. GL.

SaxDaddy
fuente
0
  1. Descargar la fuente de python-dateutil
  2. Extraerlo a, por ejemplo, /usr/local/src/python-dateutil-2.4.0
  3. cd /usr/local/src/python-dateutil-2.4.0 (o cualquier directorio al que lo haya extraído)
  4. sudo python2.7 setup.py install
  5. s3cmd --configure

(Respondiendo mi propia pregunta aquí. ¡Si alguien puede decirme por qué esto funciona y el enfoque anterior no me gustaría saberlo!)

mpavey
fuente
¿Cuál es su versión predeterminada de Python del sistema? Usar la versión 2.7 en lugar de la 3 podría haber sido todo lo que necesitaba hacer.
Optichip
Homebrew no sobrescribe la versión de Python instalada en OSX (que está vinculada desde / usr / bin /), instala una nueva copia en / usr / local / bin. Si / usr / bin está antes de / usr / local / bin en su $ path, entonces usará la versión OSX de python, no la homebrew. También deberá reiniciar su shell después de instalar python de homebrew para actualizar la variable de entorno. Intenta which pythonver lo que realmente estás ejecutando.
stib
Gracias a ambos. @Optichip, la versión 2.7 es la versión predeterminada. Cuando corro which pythonme sale: /Library/Frameworks/Python.framework/Versions/2.7/bin/python@stib, esa es información muy útil, gracias. Supongo que todavía estoy un poco inseguro de por qué anteriormente pude ejecutar con pipéxito pero no pude dateutilsinstalarlo. ¿Es porque la única pipinstalada fue la versión Homebrew, y por eso (en el paso 8) se instaló dateutilsen la pitón Homebrew?
mpavey