Search Posts

Visits: 61

M1 Mac(macOS Monterey version 12.3)でAWS(Amazon Web Service)のS3(Simple Storage Service)をコマンドで実行するs3cmdが Python3を3.10にアップデートしたら、次のメッセージでエラーとなった。

/usr/local/bin/s3cmd: /usr/local/Cellar/s3cmd/2.0.1/libexec/bin/s3cmd: /usr/bin/python: bad interpreter: No such file or directory

brewでs3cmdを更新ストールし解決

色々試したが、brew(brew install s3cmd)で解決した。

$ brew install s3cmd
s3cmd 2.0.1 is already installed but outdated (so it will be upgraded).
...

==> Checking for dependents of upgraded formulae...
==> No broken dependents to reinstall!
$
$ s3cmd --version
s3cmd version 2.2.0
$
$ s3cmd ls s3://xxxx.jp
                          DIR  s3://xxxx.jp/yyyy/
                          DIR  s3://xxxx.jp/zzzz/

最初にインストールしたのが10年くらい昔なので、そのときにbrewでインストールしていたらしい。
駄目だった手順を以降に記載する。

pip3 install awsは駄目

$ python3 --version
Python 3.10.1

$ pip3 --version
pip 22.0.4 from /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pip (python 3.10)

$ pip3 install aws
Collecting aws
  Downloading aws-0.2.5.tar.gz (5.6 kB)
  Preparing metadata (setup.py) ... done
...

$ which python
/usr/local/bin/python

$ python --version
Illegal instruction: 4

$ pip3 install s3cmd
Collecting s3cmd
  Downloading s3cmd-2.2.0-py2.py3-none-any.whl (153 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.9/153.9 KB 3.8 MB/s eta 0:00:00

/usr/local/bin/s3cmdの#!/bin/bashを変更しても駄目

$ cat /usr/local/bin/s3cmd
#!/bin/bash
PYTHONPATH="/usr/local/Cellar/s3cmd/2.0.1/libexec/lib/python2.7/site-packages:/usr/local/Cellar/s3cmd/2.0.1/libexec/vendor/lib/python2.7/site-packages" exec "/usr/local/Cellar/s3cmd/2.0.1/libexec/bin/s3cmd" "$@"
Nobu-MacBook:~ pontsoleil$ cat /usr/local/Cellar/s3cmd/2.0.1/libexec/bin/s3cmd
#!/usr/bin/python
# -*- coding: utf-8 -*-

## --------------------------------------------------------------------
## s3cmd - S3 client
##
## Authors   : Michal Ludvig and contributors
## Copyright : TGRMN Software - http://www.tgrmn.com - and contributors
## Website   : http://s3tools.org
## License   : GPL Version 2
## --------------------------------------------------------------------
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
## --------------------------------------------------------------------

s3cmd-2.0.2.tar.gzからの再インストールも駄目

$ wget https://sourceforge.net/projects/s3tools/files/s3cmd/2.0.2/s3cmd-2.0.2.tar.gz
-bash: wget: command not found

$ brew install wget
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/services).