Python3.8(JupyterLab)无法安装rdkit?如何在现有内核中安装rdkit
问题原因&解决方案
1 报错原因说明
你之前使用conda install -c rdkit rdkit命令是从rdkit官方旧源拉取安装包,该源下的旧版rdkit最高仅支持Python3.7,因此会触发版本不兼容报错。其他Docker环境能在Python3.8上正常运行rdkit,是因为那些环境使用了conda-forge源的新版rdkit,该版本已经适配Python3.8及以上版本。
2 最优解决方法(无需迁移环境)
直接在原有base环境安装适配Python3.8的rdkit即可,原有tensorflow等全部依赖都会保留,不需要切换内核:
conda install -c conda-forge rdkit
安装完成后使用原有的python3内核就能直接调用rdkit。
如果你需要保留现有rdkit环境,可选择以下任意方案操作:
3 方案一:将原有base环境的所有包迁移到现有rdkit环境
- 激活base环境,导出原有环境的依赖清单:
conda env export --name base --file base_env.yml
- 打开导出的
base_env.yml文件,删除name、prefix字段,以及dependencies列表下的python版本约束行,避免和rdkit环境的python版本产生冲突。 - 激活rdkit环境,批量安装原有依赖:
conda env update --file base_env.yml --prune
--prune参数会移除rdkit环境中与base依赖清单不一致的多余包,不需要该操作可以去掉这个参数。
4 方案二:基于rdkit环境新建内核、同时保留原有全部依赖
本质是把rdkit集成到原有base环境后单独生成新内核,执行完第2部分的rdkit安装命令后,激活base环境执行以下命令生成新内核:
python -m ipykernel install --user --name base --display-name "Python3 (with rdkit)"
后续在Jupyter中就能看到新内核,包含原有全部依赖和rdkit。
内容的提问来源于stack exchange,提问作者CandyClass
相关产品推荐
相关产品推荐

