在Windows和Python3.7.4下安装RDKit

the*_*ozh 5 python windows installation python-3.x rdkit

如果RDKit的安装不是那么复杂,则它可能是一个不错的软件包。在SO上,有几个问题与RDKit的安装有关。但是,在不同的操作系统或不同的环境上。

我的配置是: Win10,Python 3.7.4,pip已安装,PATH已设置,PYTHONPATH已设置。通过可以正常安装其他模块python -m pip install <package>

我知道该网站建议使用Anaconda进行最快的安装。但是,我没有也不想水蟒。

网页上显示:“从以下网址获取适当的Windows二进制版本:https : //github.com/rdkit/rdkit/releases ”。但是,没有最新版本的二进制文件。

这意味着,我将不得不从源代码构建它。我很犹豫,因为该过程似乎很复杂,安装了许多新问题和未知数的额外安装,此外,对于那些首次从源头构建二进制文件的人来说,说明似乎已经过时且不完整。

因此,然后我尝试了RDKit的一些非官方二进制文件。

如果我解压它们并按照说明设置路径,则会收到此错误消息:

>>> from rdkit import Chem
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\xyz\Programs\RDKit\rdkit\__init__.py", line 2, in <module>
    from .rdBase import rdkitVersion as __version__
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

所以,最后我的问题是:

  • 如何使用上述配置正确安装RDKit?
  • 指定的DLL丢失了什么?
  • 它在哪里期待并搜索它?
  • 这些RDKit 3.6二进制文件是否可能与Python 3.7.4不兼容?

我很确定这可能是一件“小事”(这里的路径或那里的支票),但我被卡住了。谢谢您的提示。

更新:

显然,这不仅仅是一件“小”事情。使它起作用的可能性很低。同时,我发现了这一点:

https://github.com/rdkit/rdkit/issues/1812

https://github.com/rdkit/rdkit/issues/2389

如果作者rdkit写道(2019年4月):

我很高兴能够进行RDKit的点分配,但是据我所知,没有人设法弄清楚如何使其真正起作用。

我很乐意接受某人提出的PR,但我不太可能在不久的将来随时有时间自己这样做。

因此,如果有人有能力实现这一目标,请放心。如果要使用RDKit,我将花费时间在其他方面,或者必须切换到Anaconda。

the*_*ozh 1

只是为了结束这个问题......

与此同时,RDKit 的安装似乎可以在没有 conda 的情况下完成。至少,我在Python 3.7.4和3.11.1(64位)上成功了,但在Python 3.6.3(32位)上却没有成功

pip install rdkit
Run Code Online (Sandbox Code Playgroud)

查看更新: https: //github.com/rdkit/rdkit/issues/1812

以及 @VandanRevanur 在 2023 年的评论:How to install a package rdkit from Conda with pip?