Oracle Cloud InfrastructureのCLIをvirtualenv環境内にインストールする
Oracle Cloud Infrastructure(以下、OCI)のCLIはPythonで実装されています。Pythonのvirtualenvを使って、OCI CLI専用の環境を切ってインストールしておけば、Pythonにありがちな依存モジュールの問題に悩まされずに済みますので、このエントリーではその手順を書きます。1
ちなみに、本エントリーとは直接関係ありませんが、CLIの他にOCIのAnsibleモジュールも使いたい場合には、より一層virtualenvの利用をおすすめしたいです。OCIのAnsibleモジュールはOCIのPython SDKというものに依存しているのですが、自分の環境では依存モジュールの問題にはまって動かすまで苦労したので…。
前提条件
こんな環境でやりました。
手順
pipをインストール
sudo apt update
sudo apt install python3-pip
pipでvirtualenvをインストール
pip3 install virtualenv
OCI CLI用のvirtualenv環境を作成。virtualenvは新たにディレクトリを切って、その配下で依存パッケージが管理される仕組みです。ここでは、~/.pyenv_oci-cli
という名前のディレクトリにしています。
python3 -m virtualenv ~/.pyenv_oci-cli --no-site-packages
上で作成したvirtualenvを有効化
source ~/.pyenv_oci-cli/bin/activate
pipでvirtualenv環境にOCI CLIをインストール
pip install oci-cli
動作確認。以下のコマンドでヘルプが表示されればOKです。
oci -h
新たにシェルを立ち上げたら、都度virtualenvの有効化を行う必要があります。頻繁にOCI CLIを使うのであれば、.bashrc
とか.zshrc
に該当コマンドを書いておくと良いかと思います。
source ~/.pyenv_oci-cli/bin/activate
OCI CLIのインストールはこれで完了です。CLIの環境設定の手順はvirtualenvを使っていてもいなくても同じなので、「Oracle Cloud Infrastructure CLIを設定してみた」などを参考にして実施してください。