eb-cliはawsのElasticBeanstalkのプロジェクトをコマンドラインから操作できるツールになります。
以前はマニュアルでインストールしたのですがインストールスクリプトが用意されていたので使ってみた記録です。
このセットアップスクリプトを使うとeb-cliを仮想環境にインストールする形になるので
他のpythonスクリプトとの競合を防ぐことができるようになるとのこと。
個人的な印象では事前準備が結構あるので手動インストールに比べて楽という印象は薄かったです。
以下のサイトをベースに進めていきます。
※MacOSベースでの解説になります。
M1Mac,MacOS12.5
参考
事前準備
セットアップする前にGit,pyenv,virtualenvの3つをインストールしなければならないとのことでした。
Gitインストール
自分の場合はインストール済みでしたが以下のようにインストールできるとのことでしたので書いておきます。
インストールにはhomebrewというMacのパッケージ管理ソフトが必要なのでそちらも入っていないという方は以下のコマンドからインストールしておきましょう。
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
% brew --version
バージョンが表示されたらhomebrewのインストールは完了です。
% brew install git
% git --version
gitのバージョンが表示されたらgitのインストールは完了です。
参考サイト
pyenvインストール
pyenvとは複数のバージョンのpythonをインストールして管理できるツールになります。
ちなみに私のM1Macはpython3が入っていましたがこの機会にpyenvを導入してみます。
参考サイト
以下pyenvインストールを進めていきます。
% which python3
/usr/bin/python3
% brew update
% brew install pyenv
% pyenv --version
バージョンが表示されたらインストールは完了です。
次にシェルに設定を追加します。以下zshで記載します。
下記コマンドを実行するとホームディレクトリにある.zshrcというファイルに設定が書き込まれていきます。
% echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
% echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc
% echo 'eval "$(pyenv init -)"' >> ~/.zshrc
% cat ~/.zshrc
% source ~/.zshrc
catコマンドで設定が追記されていたらpyenv自体の設定完了です。
次に実際にpyenvを使ってpythonをインストールしてみましょう。
% pyenv install --list
% pyenv install -l | grep -v '[a-zA-Z]' | grep -e '\s3\.?*' | tail -1
% pyenv install $(pyenv install -l | grep -v '[a-zA-Z]' | grep -e '\s3\.?*' | tail -1)
上記はpyenvでインストールできるバージョンを確認
pyenvでインストールできる最新安定バージョンを確認
pyenvで最新安定バージョンをインストール
ということをおこなっています。
ただこのままですと以下のようにエラーになります。
% python -V
% pyenv: python: command not found
そこで以下のコマンドでグローバルのpythonコマンドにpyenvでインストールしたpythonを紐づけます。
% pyenv global 3.10.7
% python -V
Python 3.10.7
% pyenv versions
pythonのバージョンが表示されたら完了です。
参考サイト
https://github.com/pyenv/pyenv#homebrew-in-macos
https://zenn.dev/unsoluble_sugar/articles/283ebf698c307c
https://qiita.com/m3y/items/45c7be319e401b24fca8
virtualenvインストール
virtualenvはpythonの仮想環境です。
virtualenvをインストールする際にpipxというツールがあった方が環境をクリーンに保てるということが参考サイトに書いてあったのでまずはpipxをインストールします。
pipx自体はvirtualenvにpython製のアプリをインストールしグローバルから実行できるようにできるツールです。
% pipx list
zsh: command not found: pipx
% brew install pipx
% pipx ensurepath
% pipx --version
1.1.0
バージョンが表示されたらpipxのインストールが完了です。
次にpipxを使用してvirtualenvをインストールします。
% pipx install virtualenv
% virtualenv --help
zsh: command not found: virtualenv
ただこれだとエラーになってしまいますのでzshに認識してもらえるようパスを通します。
% pipx ensurepath
% source .zshrc
% virtualenv --help
pipxコマンドでパスを通してくれます
zshの設定ファイルを再読み込みします。
helpが表示されたらvirtualenvの設定完了です。
参考サイト
https://virtualenv.pypa.io/en/latest/installation.html
https://pypa.github.io/pipx/
eb-cliセットアップスクリプト実行
いよいよここからeb-cliのセットアップを進めていきます。
参考サイトのeb-cliのgithubのページをベースに進めていきます。
まずはgitのリポジトリをクローンするとのことでローカルPC内に作業用ディレクトリを任意の場所に作成します。
% mkdir setup-eb-cli
GitHubからクローンします。
% cd setup-eb-cli
% git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
次にGitHubからダウンロードしたpythonスクリプトを実行します。
% python ./aws-elastic-beanstalk-cli-setup/scripts/ebcli_installer.py
インストールが終了すると最後にパスを通すコマンドが表示されていると思いますのでそちらを実行します。
私の場合はzshなのでzshのコマンドを実行します。
2. Zsh:
echo 'export PATH="/Users/MacOSUser/.ebcli-virtual-env/executables:$PATH"' >> ~/.zshenv && source ~/.zshenv
% echo 'export PATH="/Users/MacOSUser/.ebcli-virtual-env/executables:$PATH"' >> ~/.zshenv && source
これでebコマンドがグローバルに使えるようになります。
% eb --version
EB CLI 3.20.3 (Python 3.10.)
参考サイト
トラブルシューティング
zsh: command not found:というエラーが出た場合シェルスクリプトが違っている場合がありますので確認しましょう。
% echo $SHELL
% cat /etc/shells
% chsh -s /bin/zsh
上記は現在のシェルを確認
インストールされているシェルを表示
zshに切り替える
というコマンド例です。
これらのシェルはソフトごとに設定されているので
ターミナル、iterm、phpstorm内のターミナルなどで
設定されているものが変わります。
コマンドが見つからないと言われる際は今どのソフトでどのシェルを使っているかを確認すると解決できるかもしれません。