0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EB CLIのセットアップスクリプトを使ってみた

Last updated at Posted at 2022-10-16

eb-cliはawsのElasticBeanstalkのプロジェクトをコマンドラインから操作できるツールになります。
以前はマニュアルでインストールしたのですがインストールスクリプトが用意されていたので使ってみた記録です。
このセットアップスクリプトを使うとeb-cliを仮想環境にインストールする形になるので
他のpythonスクリプトとの競合を防ぐことができるようになるとのこと。
個人的な印象では事前準備が結構あるので手動インストールに比べて楽という印象は薄かったです。

以下のサイトをベースに進めていきます。

※MacOSベースでの解説になります。
M1Mac,MacOS12.5

参考

事前準備

セットアップする前にGit,pyenv,virtualenvの3つをインストールしなければならないとのことでした。

Gitインストール

自分の場合はインストール済みでしたが以下のようにインストールできるとのことでしたので書いておきます。

インストールにはhomebrewというMacのパッケージ管理ソフトが必要なのでそちらも入っていないという方は以下のコマンドからインストールしておきましょう。

brew.sh
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
% brew --version

バージョンが表示されたらhomebrewのインストールは完了です。

brew.sh
% brew install git
% git --version

gitのバージョンが表示されたらgitのインストールは完了です。

参考サイト

pyenvインストール

pyenvとは複数のバージョンのpythonをインストールして管理できるツールになります。
ちなみに私のM1Macはpython3が入っていましたがこの機会にpyenvを導入してみます。

参考サイト

以下pyenvインストールを進めていきます。

install.sh
% which python3
/usr/bin/python3
% brew update
% brew install pyenv
% pyenv --version

バージョンが表示されたらインストールは完了です。
次にシェルに設定を追加します。以下zshで記載します。
下記コマンドを実行するとホームディレクトリにある.zshrcというファイルに設定が書き込まれていきます。

setting.sh
% 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をインストールしてみましょう。

install.sh
% 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.sh
% python -V
% pyenv: python: command not found

そこで以下のコマンドでグローバルのpythonコマンドにpyenvでインストールしたpythonを紐づけます。

pyenv.sh
% 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製のアプリをインストールしグローバルから実行できるようにできるツールです。

install.sh
% pipx list
zsh: command not found: pipx
% brew install pipx
% pipx ensurepath
% pipx --version
1.1.0

バージョンが表示されたらpipxのインストールが完了です。
次にpipxを使用してvirtualenvをインストールします。

install.sh
% pipx install virtualenv
% virtualenv --help
zsh: command not found: virtualenv

ただこれだとエラーになってしまいますのでzshに認識してもらえるようパスを通します。

settingpath.sh
% 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.sh
% mkdir setup-eb-cli

GitHubからクローンします。

gitclone.sh
% cd setup-eb-cli
% git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git

次にGitHubからダウンロードしたpythonスクリプトを実行します。

python.sh
% python ./aws-elastic-beanstalk-cli-setup/scripts/ebcli_installer.py

インストールが終了すると最後にパスを通すコマンドが表示されていると思いますのでそちらを実行します。
私の場合はzshなのでzshのコマンドを実行します。

setup.sh
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.sh
% eb --version
EB CLI 3.20.3 (Python 3.10.)

参考サイト

トラブルシューティング

zsh: command not found:というエラーが出た場合シェルスクリプトが違っている場合がありますので確認しましょう。

shell.sh
% echo $SHELL
% cat /etc/shells
% chsh -s /bin/zsh

上記は現在のシェルを確認
インストールされているシェルを表示
zshに切り替える

というコマンド例です。

これらのシェルはソフトごとに設定されているので
ターミナル、iterm、phpstorm内のターミナルなどで
設定されているものが変わります。

コマンドが見つからないと言われる際は今どのソフトでどのシェルを使っているかを確認すると解決できるかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?