6.2 Administrative Tasks for Creating and Saving a Conda Environment
In OML Notebooks, user ADMIN can manage the lifecycle of the OML user’s conda environments, including creating and deleting environments and installing and deleting packages.
The conda environments created by user ADMIN are stored in an Object Storage
bucket folder associated with the Autonomous Database instance. OML users can download
these conda environments using enhanced conda commands. Conda environments are available
after they are downloaded and activated using the download and activate functions in a
%conda
paragraph. An activated environment is available until it is
deactivated.
Create a Conda enviroment
As an ADMIN user in an OML notebook, specify a conda interpreter in a
paragraph using %conda
, then use the create
command to create a conda environment named sbenv to install the seaborn
package. Specify the Python version using the python
parameter.
Here, Python 3.12 is used for compatibility with OML4Py.
Note:
When conda installs a package into an environment, it also installs any required dependencies. As a best practice, to avoid dependency conflicts, simultaneously install all the packages you need in a specific environment.Note:
Specify python=3.12.1
when creating a conda
environment for a 3rd-party package to avoid inconsistencies.
%conda
create -n sbenv -c conda-forge --strict-channel-priority python=3.12.1 seaborn
Upload the environment to Object Storage
Upload the environment to the Object Storage associated with the Autonomous Database instance. Here you provide an environment description and a tag corresponding to an application name, OML4Py.
%conda
upload sbenv --description 'Conda environment with seaborn' -t application "OML4PY"
Uploading conda environment sbenv
Upload successful for conda environment sbenv
The environment is now available for an OML user to download. The uploaded environment will persist in Object Storage until it is deleted. The application tag is required for use with embedded execution. For example, OML4Py embedded Python execution works with conda environments containing the OML4Py tag, and OML4R embedded R execution works with conda environments containing the OML4R tag.
There is one Object Storage bucket for each data center region. The conda environments are saved to a folder in Object Storage corresponding to the tenancy and database. The folder is managed by Autonomous Database and only available to users through OML Notebooks. There is an 8G maximum size for a single conda environment, and no size limit on Object Storage.
Logged in as a non-administrator user, specify the conda interpreter in
a notebook paragraph using %conda
. Get the list of environments
saved in Object Storage using the list-saved-envs
command.
%conda
list-saved-envs
Provide the environment name as an argument to the -e
parameter and request a list of packages installed in the environment.
%conda
list-saved-envs -e sbenv --installed-packages
The output is similar to the following:
{
"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 an environment saved in an Object Storage
Use the delete
command to delete an environment saved in
an Object Storage.
Note:
Only user ADMIN can delete an environment saved in an Object Storage.%conda
delete sbenv
Deleting conda environment sbenv
Deletion successful for conda environment sbenv
Parent topic: Install Third-Party Packages