I'd like to use OML (Oracle Machine Learning) to create a custom python conda that contains the gensim python package. The OML docs suggest
%conda create -n gensim_env python==3.10 gensim
but that errors out with
Collecting package metadata: ...working... done
Solving environment: ...working... failed
UnsatisfiableError: The following specifications were found to be in conflict:
- gensim -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
- gensim -> libgcc-ng[version='>=11.2.0'] -> _openmp_mutex -> openmp_impl==9999
- gensim -> libstdcxx-ng[version='>=11.2.0']
- gensim -> numpy[version='>=1.26.0,<2.0a0'] -> numpy-base==1.26.3=py312he1a6c75_0 -> python[version='>=3.12,<3.13.0a0'] -> libffi[version='>=3.4,<4.0a0']
- gensim -> numpy[version='>=1.26.0,<2.0a0'] -> numpy-base==1.26.3=py312he1a6c75_0 -> python[version='>=3.12,<3.13.0a0'] -> libuuid[version='>=1.41.5,<2.0a0']
- gensim -> numpy[version='>=1.26.0,<2.0a0'] -> numpy-base==1.26.3=py312he1a6c75_0 -> python[version='>=3.12,<3.13.0a0'] -> ncurses[version='>=6.4,<7.0a0']
- gensim -> numpy[version='>=1.26.0,<2.0a0'] -> numpy-base==1.26.3=py312he1a6c75_0 -> python[version='>=3.12,<3.13.0a0'] -> openssl[version='>=3.0.11,<4.0a0']
- gensim -> numpy[version='>=1.26.0,<2.0a0'] -> numpy-base==1.26.3=py312he1a6c75_0 -> python[version='>=3.12,<3.13.0a0'] -> sqlite[version='>=3.41.2,<4.0a0'] -> zlib[version='>=1.2.13,<1.3.0a0,>=1.2.13,<2.0a0']
- gensim -> numpy[version='>=1.26.0,<2.0a0'] -> numpy-base==1.26.3=py312he1a6c75_0 -> python[version='>=3.12,<3.13.0a0'] -> xz[version='>=5.4.2,<6.0a0']
- python==3.10
Use "conda search <package> --info" to see the dependencies for each package.
Use the -c flag to install a Python library from a specific conda channel. By querying gensim in https://anaconda.org/search, I found that it resides in the conda-forge channel. To create a conda environment with the name 'gensim_env' in OML Notebooks on Oracle Autonomous Database, run the following command in a %conda paragraph under the ADMIN user:
%conda
create -n gensim_env -c conda-forge --override-channels --strict-channel-priority python=3.10 gensim
Save the conda environment to Object Storage for OML users to download, activate, and use the conda environment:
%conda
upload gensim_env -t application "OML4Py"
Uploading conda environment gensim_env Upload successful for conda environment gensim_env
Next, the OML user will download and activate the conda environment in a %conda paragraph:
%conda
download gensim_env activate gensim_env
With the conda environment downloaded and activated, the gensim library, along with other libraries in this conda environment, can be used in a %python paragraph.
Note that these instructions are specific to OML on Autonomous Database. For on-premises installations, third-party packages can be installed using various packages installation techniques, including conda, pip, CRAN, etc.