5.3 使用可能なConda環境をダウンロードするためのOMLユーザー・タスク
ユーザーADMINがAutonomous Databaseのオブジェクト・ストレージに環境をインストールすると、OMLユーザーとして、ノートブックのPython段落および埋込み実行でその環境をダウンロード、アクティブ化および使用できるようになります。
オブジェクト・ストレージに保持されているすべての環境のリスト
list-saved-envs
コマンドを使用して、オブジェクト・ストレージに保存された環境のリストを取得します。
%conda
list-saved-envs
オブジェクト・ストレージに保持されている名前付き環境に関する情報の取得
-e
パラメータの引数として環境名を指定し、環境に関する情報をリクエストします。
%conda
list-saved-envs -e sbenv
出力は、次のようなものです。
{
"name": "sbenv",
"size": "1.2 GiB",
"description": "Conda environment with seaborn",
"tags": {
"application": "OML4PY"
},
"number_of_installed_packages": 60
}
環境のダウンロードとアクティブ化
download
コマンドを使用して、オブジェクト・ストレージから環境をダウンロードします。ダウンロードした環境をアクティブ化するには、activate
コマンドを使用します。
ノート:
downloadコマンドが含まれる段落は、ノートブックの最初の段落である必要があります。%conda
download sbenv
activate sbenv
Downloading conda environment sbenv
Download successful for conda environment sbenv
環境で使用可能なパッケージのリスト
list
コマンドを使用して、アクティブな環境内の全パッケージのリストを取得します。
%conda
list
出力は、次のようなものです。
# packages in environment at /u01/.conda/envs/sbenv:
#
# Name Version Build Channel
blas 1.0 mkl
bottleneck 1.3.5 py39h7deecbd_0
brotli 1.0.9 h5eee18b_7
brotli-bin 1.0.9 h5eee18b_7
ca-certificates 2022.07.19 h06a4308_0
certifi 2022.9.14 py39h06a4308_0
cycler 0.11.0 pyhd3eb1b0_0
dbus 1.13.18 hb2f20db_0
expat 2.4.4 h295c915_0
fftw 3.3.9 h27cfd23_1
fontconfig 2.13.1 h6c09931_0
fonttools 4.25.0 pyhd3eb1b0_0
freetype 2.11.0 h70c0345_0
giflib 5.2.1 h7b6447c_0
glib 2.69.1 h4ff587b_1
gst-plugins-base 1.14.0 h8213a91_2
gstreamer 1.14.0 h28cd5cc_2
icu 58.2 he6710b0_3
intel-openmp 2021.4.0 h06a4308_3561
jpeg 9e h7f8727e_0
kiwisolver 1.4.2 py39h295c915_0
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.38 h1181459_1
lerc 3.0 h295c915_0
libbrotlicommon 1.0.9 h5eee18b_7
libbrotlidec 1.0.9 h5eee18b_7
libbrotlienc 1.0.9 h5eee18b_7
libdeflate 1.8 h7f8727e_5
libffi 3.3 he6710b0_2
libgcc-ng 11.2.0 h1234567_1
libgfortran-ng 11.2.0 h00389a5_1
libgfortran5 11.2.0 h1234567_1
libpng 1.6.37 hbc83047_0
libstdcxx-ng 11.2.0 h1234567_1
libtiff 4.4.0 hecacb30_0
libuuid 1.0.3 h7f8727e_2
libwebp 1.2.2 h55f646e_0
libwebp-base 1.2.2 h7f8727e_0
libxcb 1.15 h7f8727e_0
libxml2 2.9.14 h74e7548_0
lz4-c 1.9.3 h295c915_1
matplotlib 3.5.2 py39h06a4308_0
matplotlib-base 3.5.2 py39hf590b9c_0
mkl 2021.4.0 h06a4308_640
mkl-service 2.4.0 py39h7f8727e_0
mkl_fft 1.3.1 py39hd3c417c_0
mkl_random 1.2.2 py39h51133e4_0
munkres 1.1.4 py_0
ncurses 6.3 h5eee18b_3
numexpr 2.8.3 py39h807cd23_0
numpy 1.22.3 py39he7a7128_0
numpy-base 1.22.3 py39hf524024_0
openssl 1.1.1q h7f8727e_0
packaging 21.3 pyhd3eb1b0_0
pandas 1.4.4 py39h6a678d5_0
pcre 8.45 h295c915_0
pillow 9.2.0 py39hace64e9_1
pip 22.1.2 py39h06a4308_0
pyparsing 3.0.9 py39h06a4308_0
pyqt 5.9.2 py39h2531618_6
python 3.9.0 hdb3f193_2
python-dateutil 2.8.2 pyhd3eb1b0_0
pytz 2022.1 py39h06a4308_0
qt 5.9.7 h5867ecd_1
readline 8.1.2 h7f8727e_1
scipy 1.7.3 py39h6c91a56_2
seaborn 0.11.2 pyhd3eb1b0_0
setuptools 63.4.1 py39h06a4308_0
sip 4.19.13 py39h295c915_0
six 1.16.0 pyhd3eb1b0_1
sqlite 3.39.2 h5082296_0
tk 8.6.12 h1ccaba5_0
tornado 6.2 py39h5eee18b_0
tzdata 2022c h04d1e81_0
wheel 0.37.1 pyhd3eb1b0_0
xz 5.2.5 h7f8727e_1
zlib 1.2.12 h5eee18b_3
zstd 1.5.2 ha4553b6_0
例5-1 seabornを使用したビジュアライゼーションの作成
次の例に、インストールしてアクティブ化した環境での使用可能なパッケージの使用を示します。pandas、seabornおよびmatplotlib
パッケージをインポートし、seabornライブラリからiris
データセットをpandas dataframeとしてロードします。pairplot
seaborn関数は、データセットのすべての変数間のペアの関係をプロットします。
%python
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.set_style("ticks")
sb.pairplot(df,hue = 'species',diag_kind = "kde",kind = "scatter",palette = "husl")
plt.show()
この例の出力は次のようになります。
例5-2 関数の文字列表現を作成し、OML4Pyスクリプト・リポジトリに保存
OML4Pyを使用すると、関数は文字列定義表現を使用してスクリプト・リポジトリに保存されるため、Embedded Python Executionで実行できます。関数sb_plot
を作成し、関数が期待どおりに動作することを検証した後、これを(書式設定のために三重引用符で囲んで)文字列として指定し、OML4Pyスクリプト・リポジトリに保存します。oml.script.create
関数を使用して、1つのユーザー定義Python関数をOML4Pyスクリプト・リポジトリに格納します。パラメータ"sb_plot"
は、ユーザー定義関数の名前を指定する文字列です。パラメータfunc=sb_plot
は、実行するPython関数です。
%python
sb_plot = """def sb_plot():
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.set_style("ticks")
sb.pairplot(df,hue = 'species',diag_kind = "kde",kind = "scatter",palette = "husl")
plt.show()"""
oml.script.create("sb_plot", func=sb_plot)
Embedded Python ExecutionのPython APIを使用して、スクリプト・リポジトリに保存したユーザー定義Python関数を実行します。
%python
oml.do_eval(func="sb_plot", graphics=True)
この例の出力は、次のようになります。
現在の環境の非アクティブ化
deactivate
コマンドを使用して、環境を非アクティブ化します。
ノート:
一度にサポートされるアクティブな環境は1つのみです。そのため、新しくアクティブ化された環境によって古い環境が置き換えられます。ベスト・プラクティスとして、ログオフする前に環境を非アクティブ化します。%conda
deactivate
Conda environment deactivated
親トピック: サード・パーティ・パッケージのインストール