Làm cách nào tôi có thể cài đặt s3cmd trên Mac OS X Yosemite?


11

Tôi đang sử dụng Mac OS X Yosemite và muốn cài đặt s3cmdtừ S3Tools . Dưới đây là một bản tóm tắt về những gì tôi đã làm cho đến nay:

  1. Tải về và trích xuất .tar.gz.
  2. Đã chuyển thư mục kết quả sang /usr/local/src
  3. cd /usr/local/src/s3cmd-1.5.0
  4. sudo python setup.py install
  5. s3cmd --configure, hiển thị thông báo lỗi cho biết Please install the python dateutil module
  6. Đã cài đặt Homebrew
  7. brew install python (để cài đặt pip)
  8. pip install python-dateutil
  9. s3cmd --configure, hoặc là s3cmd du s3://bucket-name

Ở bước 9 tôi vẫn nhận được thông báo lỗi về dateutilmô-đun:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Hmm hoạt động tốt với tôi, tôi vừa thực hiện một git clone github.com/s3tools/s3cmd sau đó chạy cài đặt sudo python setup.py từ thư mục đó
Optichip

Câu trả lời:


22

Hoặc bạn có thể giữ cho nó đơn giản và sử dụng Homebrew để cài đặt / quản lý nhiều công cụ AWS, bao gồm s3cmd

  1. Cài đặt Homebrew bằng cách chạy lệnh này

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Tìm mã bạn muốn

    $ brew search s3
    s3-backer  s3cmd      s3fs   s3sync     unfs3
    
  3. Cài đặt s3cmd

    brew install s3cmd
    

Trình cài đặt sẽ thực hiện tất cả các công việc bẩn thỉu bao gồm nhận phụ thuộc và liên kết tượng trưng đến thư mục / Ứng dụng của bạn (tùy thuộc vào ứng dụng bạn cài đặt).

  1. Bạn muốn phiên bản mới nhất?

    brew update
    

Tôi đã sử dụng công cụ này cho các công cụ awscli trong nhiều tháng rất thành công. GL.


0
  1. Tải về nguồn python-dateutil
  2. Trích xuất nó, ví dụ, /usr/local/src/python-dateutil-2.4.0
  3. cd /usr/local/src/python-dateutil-2.4.0 (hoặc bất cứ thư mục nào bạn trích xuất ra)
  4. sudo python2.7 setup.py install
  5. s3cmd --configure

(Trả lời câu hỏi của riêng tôi ở đây. Nếu ai đó có thể cho tôi biết lý do tại sao cách này hiệu quả và cách tiếp cận trước đó tôi không muốn biết!)


Phiên bản hệ thống python mặc định của bạn là gì? Sử dụng phiên bản 2.7 thay vì 3 có thể là tất cả những gì bạn cần làm.
Optichip

Homebrew không ghi đè lên phiên bản cài đặt OSX của python (được liên kết đến từ / usr / bin /), nó cài đặt một bản sao mới trong / usr / local / bin. Nếu / usr / bin nằm trước / usr / local / bin trong đường dẫn $ của bạn thì bạn sẽ sử dụng phiên bản OSX của python, không phải là homebrew. Ngoài ra, bạn sẽ phải khởi động lại shell của mình sau khi cài đặt python của homebrew để cập nhật biến môi trường. Hãy thử which pythonxem những gì bạn đang thực sự chạy.
stib

Cảm ơn cả hai. @Optichip, phiên bản 2.7 là phiên bản mặc định. Khi tôi chạy which pythontôi nhận được: /Library/Frameworks/Python.framework/Versions/2.7/bin/python@stib, đó là thông tin rất hữu ích, cảm ơn. Tôi đoán tôi vẫn không chắc chắn một chút tại sao trước đây tôi có thể chạy pipthành công mà chưa được dateutilscài đặt. Có phải vì pipcài đặt duy nhất là phiên bản Homebrew, và vì vậy (ở bước 8) nó đã cài đặt dateutilscho con trăn Homebrew?
mpavey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.