我正在尝试在自治数据库无服务器的 OML Notebooks 中使用 conda 环境,其中包含 statsmodels 库及其依赖项。下载并激活 %conda 段落中的环境后,尝试在 %python 段落中加载 statsmodels 时收到以下错误:
“激活的 conda 环境与 OML4PY 支持库不兼容。”
我可以做什么来解决这个问题?
您遇到的错误可能是由于 conda 环境中的库与 OML Notebooks 中预安装的支持库之间的版本冲突造成的。 Oracle Machine Learning for Python (OML4Py) 附带多个第三方库的特定版本,包括 python-oracledb、numpy、pandas、matplotlib、scipy 和 scikit-learn。
安装这些库的更新版本或不兼容版本可能会导致冲突。在您的情况下,安装 statsmodels 会安装较新版本的 pandas,这会破坏与 OML 支持库的兼容性。
要解决此问题,请按照以下步骤操作:
识别兼容版本:使用 conda search 命令查找与 OML Notebooks 中的 Python 版本兼容的 statsmodels 版本(以及您想要使用的任何其他库)。
首先,确定正在使用的Python版本:
%python
import sys
print(sys.version)
3.12.1 (main, Aug 4 2024, 03:24:23) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44.0.3)]
接下来,在该Python版本下构建的conda上搜索statsmodels库:
%conda
search statsmodels
# Name Version Build Channel
...
...
statsmodels 0.14.0 py312ha883a20_0 pkgs/main
...
...
输出表明 statsmodels 0.14.0 是在 Python 3.12 下构建的。
接下来,使用您确定的兼容版本创建新的 conda 环境并将其上传到 ADMIN 下的对象存储。这避免了与 OML4Py 的依赖项发生冲突。
%conda
create -n myenv -c conda-forge python=3.12.1 statsmodels==0.14.0
upload --overwrite myenv -t application "OML4PY"
非ADMIN使用下,下载并激活conda环境并加载statsmodels库:
%conda
download myenv
activate myenv
%python
import statsmodels
通过确保您的库版本与 OML Notebooks 支持的库版本一致,您将避免兼容性问题。