我目前正在做一个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)有关。
发布于 2020-04-10 23:08:10
事实证明,我遇到这个问题的原因是因为每当您对源代码进行更改(我这样做是为了解决我的项目的另一个问题)时,这些更改都会影响.conda缓存文件夹,这意味着如果您要卸载并重新安装conda包,安装过程将引用缓存文件夹。
https://stackoverflow.com/questions/61131665
复制相似问题