Oracle Cloud InfrastructureのCLIをvirtualenv環境内にインストールする

Oracle Cloud Infrastructure(以下、OCI)のCLIPythonで実装されています。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を設定してみた」などを参考にして実施してください。


  1. virtualenvを使わない標準的なインストール手順は、こちらこちらを参照ください。