python - RDKit 的函数 MolFromInchi 不起作用

标签 python boost conda boost-python rdkit

我目前正在开发一个 Django 项目,该项目需要获取 InChI 字符串并将其转换为分子的功能,但我使用的包似乎在其函数 MolFromInchi。每当我尝试使用此函数时,python 往往会生成此回溯:

例如

>>> from rdkit.Chem.inchi import MolFromInchi
>>> mol = MolFromInchi('InChI=1S/O2Si/c1-3-2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\tcherry\repos\dataslate_django\venv\my-rdkit-env\lib\site-packages\rdkit\Chem\inchi.py", line 71, in MolFromInchi
    mol, retcode, message, log = rdinchi.InchiToMol(inchi, sanitize, removeHs)
TypeError: No to_python (by-value) converter found for C++ type: class boost::shared_ptr<class RDKit::ROMol>

这个错误似乎源自 rdkit 包的源代码,但我想知道是否有什么办法可以规避或缓解这个问题,同时仍然能够合并该功能MolFromInchi 到我的项目中。

注意:按照 RDKit Documentation 上发布的有关如何使用 Conda 安装 RDKit 的说明进行操作后,我能够重现此错误。 ,这个问题与最新版本的 RDKit (2020.03.1) 有关。

最佳答案

事实证明,我遇到这个问题的原因是,每当您对源代码进行更改(我这样做是为了解决我的项目的另一个问题)时,这些更改会影响 .conda 缓存文件夹,这意味着如果您要卸载并重新安装 conda 软件包,安装过程将引用缓存文件夹。

关于python - RDKit 的函数 MolFromInchi 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61131665/

相关文章:

unit-testing - boost 测试无输出

python - 在 Plotly Python 中使用时间 slider 绘制连续直方图

python - 停止扭曲时,工厂会等待 sql 执行完成吗?

Python 文件上传到 Google 云存储桶返回 Broken Pipe 错误

c++ - boost 格式设置浮点的最大精度

Boost序列化文件结尾

python - Django 不创建数据库表

python - Conda 不使用已安装的包,而是使用外部包

anaconda - 如何在 conda 配方中包含 shell 脚本?

python - 导入错误: No module named 'requests.exceptions'