6.2 Conda環境を作成および保存するための管理タスク
OML Notebooksでは、ユーザーADMINは、環境の作成および削除、パッケージのインストールおよび削除など、OMLユーザーのconda環境のライフサイクルを管理できます。
ユーザーADMINによって作成されたconda環境は、Autonomous Databaseインスタンスに関連付けられたオブジェクト・ストレージ・バケット・フォルダに格納されます。OMLユーザーは、拡張condaコマンドを使用してこのようなconda環境をダウンロードできます。conda環境は、%conda
段落でダウンロードおよびアクティブ化の機能を使用してダウンロードおよびアクティブ化した後に使用できます。アクティブ化された環境は、非アクティブ化されるまで使用できます。
Conda環境の作成
OML NotebooksでADMINユーザーとして、%conda
を使用して段落にcondaインタプリタを指定した後、create
コマンドを使用してsbenvという名前のconda環境を作成し、seabornパッケージをインストールします。python
パラメータを使用してPythonバージョンを指定します。ここでは、Python 3.12はOML4Pyとの互換性のために使用されます。
ノート:
condaによってパッケージが環境にインストールされると、必要な依存関係もインストールされます。ベスト・プラクティスとして、依存関係の競合を回避するために、特定の環境で必要なパッケージをすべて同時にインストールします。ノート:
サードパーティ・パッケージ用のconda環境を作成するときは、矛盾を防ぐために、python=3.12.1
を指定します。
%conda
create -n sbenv -c conda-forge --strict-channel-priority python=3.12.1 seaborn
オブジェクト・ストレージへの環境のアップロード
Autonomous Databaseインスタンスに関連付けられたオブジェクト・ストレージに環境をアップロードします。ここでは、環境の説明およびアプリケーション名OML4Pyに対応するタグを指定します。
%conda
upload sbenv --description 'Conda environment with seaborn' -t application "OML4PY"
Uploading conda environment sbenv
Upload successful for conda environment sbenv
これで、OMLユーザーが環境をダウンロードできるようになります。アップロードされた環境は、削除されるまでオブジェクト・ストレージに保持されます。埋込み実行で使用するにはアプリケーション・タグが必要です。たとえば、OML4Py Embedded Python ExecutionはOML4Pyタグが含まれるconda環境と連携し、OML4R Embedded R ExecutionはOML4Rタグが含まれるconda環境と連携します。
データ・センター・リージョンごとに1つのオブジェクト・ストレージ・バケットがあります。conda環境は、テナンシおよびデータベースに対応するオブジェクト・ストレージ内のフォルダに保存されます。このフォルダはAutonomous Databaseによって管理され、OML Notebooksを介してのみユーザーが使用できます。単一のconda環境には8Gの最大サイズがあり、オブジェクト・ストレージにはサイズ制限がありません。
管理者以外のユーザーとしてログインし、%conda
を使用してノートブック段落にcondaインタプリタを指定します。list-saved-envs
コマンドを使用して、オブジェクト・ストレージに保存された環境のリストを取得します。
%conda
list-saved-envs
-e
パラメータの引数として環境名を指定し、環境にインストールされているパッケージのリストを要求します。
%conda
list-saved-envs -e sbenv --installed-packages
出力は、次のようなものです。
{
"name": "sbenv",
"size": "1.7 GiB",
"description": "Conda environment with seaborn",
"tags": {
"application": "OML4PY"
},
"number_of_installed_packages": 78,
"installed_packages": [
"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"
]
}
オブジェクト・ストレージに保存されている環境の削除
delete
コマンドを使用して、オブジェクト・ストレージに保存されている環境を削除します。
ノート:
オブジェクト・ストレージに保存されている環境を削除できるのは、ユーザーADMINのみです。%conda
delete sbenv
Deleting conda environment sbenv
Deletion successful for conda environment sbenv
親トピック: サード・パーティ・パッケージのインストール