【AWS】古い(特定のバージョンの)aws-cliをインストールする
概要
何かしらの理由で古いaws-cliをinstallしたい場合のやり方です。 公式のマニュアルにはのってないのと、ネット上にもあまりのってないようだったので残しておきます!
ついでにエラーがいくつか出たので、その対処方法も。
前提
- mac
- pythonの2系しか入ってない
- ので
pip3
じゃなくてpip
コマンドで(多分pip3
でも一緒だと思う)
- ので
公式ドキュメント
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.htmldocs.aws.amazon.com
正解
sudo pip install "awscli==ばーじょん" # 例 sudo pip install "awscli==1.12.0"
私の環境で出たエラー
初回実行
$ sudo pip install "awscli==1.11.70" DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. The directory '/Users/daisuke-fukuda/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/Users/daisuke-fukuda/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting awscli==1.11.70 Downloading https://files.pythonhosted.org/packages/8a/80/e2862a36847b11af8e44fe3f903e276c88a41ca012115d31a1168526c4d1/awscli-1.11.70-py2.py3-none-any.whl (1.2MB) 100% |████████████████████████████████| 1.2MB 11.7MB/s 〜省略〜 matplotlib 1.3.1 requires nose, which is not installed. matplotlib 1.3.1 requires tornado, which is not installed. Installing collected packages: colorama, futures, jmespath, docutils, six, python-dateutil, botocore, s3transfer, rsa, PyYAML, awscli Found existing installation: six 1.4.1 Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. You are using pip version 19.0.3, however version 19.2.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
pipを更新(python2.7のwarningは無視
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pipの19.2.3があるよ!との事なので言われるがままにコマンド実行。
$ sudo pip install --upgrade pip DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. The directory '/Users/daisuke-fukuda/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/Users/daisuke-fukuda/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting pip Downloading https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl (1.4MB) 100% |████████████████████████████████| 1.4MB 11.9MB/s Installing collected packages: pip Found existing installation: pip 19.0.3 Uninstalling pip-19.0.3: Successfully uninstalled pip-19.0.3 Successfully installed pip-19.2.3
再度実行
$ sudo pip install "awscli==1.11.70" DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting awscli==1.11.70 Downloading https://files.pythonhosted.org/packages/8a/80/e2862a36847b11af8e44fe3f903e276c88a41ca012115d31a1168526c4d1/awscli-1.11.70-py2.py3-none-any.whl (1.2MB) |████████████████████████████████| 1.2MB 7.5MB/s 〜省略〜 Building wheels for collected packages: PyYAML Building wheel for PyYAML (setup.py) ... done Created wheel for PyYAML: filename=PyYAML-3.12-cp27-cp27m-macosx_10_14_intel.whl size=43786 sha256=6d230c76eeaebe02086a51e057590222c74ecb329bfbcb3bb380db88c1af47dc Stored in directory: /Users/daisuke-fukuda/Library/Caches/pip/wheels/03/05/65/bdc14f2c6e09e82ae3e0f13d021e1b6b2481437ea2f207df3f Successfully built PyYAML ERROR: matplotlib 1.3.1 requires nose, which is not installed. ERROR: matplotlib 1.3.1 requires tornado, which is not installed. Installing collected packages: six, python-dateutil, botocore, s3transfer, rsa, PyYAML, awscli Found existing installation: six 1.4.1 ERROR: Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
matplotlibをインストール
ERROR: matplotlib 1.3.1 requires nose, which is not installed. ERROR: matplotlib 1.3.1 requires tornado, which is not installed.
matplotlibがインストールされてないよ!とのことなのでmatplotlibをインストール
$ sudo pip install matplotlib DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Requirement already satisfied: matplotlib in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (1.3.1) Requirement already satisfied: numpy>=1.5 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib) (1.8.0rc1) Requirement already satisfied: python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib) (1.5) Collecting tornado (from matplotlib) Downloading https://files.pythonhosted.org/packages/e6/78/6e7b5af12c12bdf38ca9bfe863fcaf53dc10430a312d0324e76c1e5ca426/tornado-5.1.1.tar.gz (516kB) |████████████████████████████████| 522kB 7.6MB/s 〜省略〜 https://files.pythonhosted.org/packages/7d/56/6f3ac1b816d0cd8994e83d0c4e55bc64567532f7dc543378bd87f81cebc7/backports_abc-0.5-py2.py3-none-any.whl Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from singledispatch->tornado->matplotlib) (1.4.1) Building wheels for collected packages: tornado Building wheel for tornado (setup.py) ... done Created wheel for tornado: filename=tornado-5.1.1-cp27-cp27m-macosx_10_14_intel.whl size=451244 sha256=4bbdb23613bc1687d4ea6e280d4b2bff64a992cb8393b593546391c1a0ba8778 Stored in directory: /Users/daisuke-fukuda/Library/Caches/pip/wheels/6d/e1/ce/f4ee2fa420cc6b940123c64992b81047816d0a9fad6b879325 Successfully built tornado Installing collected packages: singledispatch, backports-abc, tornado, nose ERROR: Could not install packages due to an EnvironmentError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/man'
なんかエラー出たけど、うまくできてたっぽい(謎
$ sudo pip install matplotlib DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Requirement already satisfied: matplotlib in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (1.3.1) Requirement already satisfied: numpy>=1.5 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib) (1.8.0rc1) Requirement already satisfied: python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib) (1.5) Requirement already satisfied: tornado in /Library/Python/2.7/site-packages (from matplotlib) (5.1.1) Requirement already satisfied: pyparsing>=1.5.6 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib) (2.0.1) Requirement already satisfied: nose in /Library/Python/2.7/site-packages (from matplotlib) (1.3.7) Requirement already satisfied: backports-abc>=0.4 in /Library/Python/2.7/site-packages (from tornado->matplotlib) (0.5) Requirement already satisfied: futures in /Library/Python/2.7/site-packages (from tornado->matplotlib) (3.3.0) Requirement already satisfied: singledispatch in /Library/Python/2.7/site-packages (from tornado->matplotlib) (3.4.0.3) Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from singledispatch->tornado->matplotlib) (1.4.1)
six対策
ERROR: Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
正解
無視でいいらしい。
$ sudo pip install "awscli==1.11.70" --ignore-installed DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. WARNING: The directory '/Users/daisuke-fukuda/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting awscli==1.11.70 Downloading https://files.pythonhosted.org/packages/8a/80/e2862a36847b11af8e44fe3f903e276c88a41ca012115d31a1168526c4d1/awscli-1.11.70-py2.py3-none-any.whl (1.2MB) |████████████████████████████████| 1.2MB 5.1MB/s Collecting colorama<=0.3.7,>=0.2.5 (from awscli==1.11.70) 〜省略〜 Installing collected packages: colorama, futures, jmespath, docutils, six, python-dateutil, botocore, s3transfer, pyasn1, rsa, PyYAML, awscli Successfully installed PyYAML-5.1 awscli-1.11.70 botocore-1.5.33 colorama-0.3.7 docutils-0.15.2 futures-3.3.0 jmespath-0.9.4 pyasn1-0.4.7 python-dateutil-2.8.0 rsa-3.4.2 s3transfer-0.1.13 six-1.12.0
確認
$ aws --version aws-cli/1.11.70 Python/2.7.10 Darwin/18.7.0 botocore/1.5.33