更新 1:PIL 和 RDKIT 产生导入错误,因为 .dll 文件没有放在 /venv//Lib/site-packages
我从环境中删除了这两个包,并从我的项目中注释掉了它们的代码。
接下来我更新了基础基础环境:
conda update conda #from base env
然后我升级了 pip 和 setuptools 并重新安装了枕头:
python -m pip install pip --upgrade
pip install setuptools --upgrade
pip install pillow
我现在可以将我的 PIL 内容添加回项目,它可以在生产服务器上正常工作,而无需安装 rdkit。
RDKIT 仅作为 conda install 提供,它仍然无法正确安装并在过程中破坏 PIL(rdkit 取决于枕头)。我已经从 rdkit 和 conda-forge 频道重新安装了。都不工作。
解决此问题的正确方法是什么?我觉得移动 .dll 文件是有风险的,不是一个好的解决方案。
更新 0:RDKIT 不会加载到任何服务器中
我创建了一个基本的 django 项目,类似于您在教程中找到的没有静态文件的项目。该项目已成功发布到 Apache 服务器,在原始帖子和 Windows 10 IIS 中描述如下。接下来修改 models.py 以导入 rdkit,两台服务器都给出了导入错误,并且站点不会显示。
原帖:
RDKIT 是唯一没有加载到我们的生产服务器中的包。
我们成功设置了一个 Wampserver 来运行 Apache 并托管我们的 Django 项目。. .但是必须注释掉与rdkit相关的所有代码才能工作。这抑制了许多必需的功能。
在 Django 的测试服务器中使用 rdkit 没有问题。
主要 wsgi 错误:
from .rdBase import rdkitVersion as __version__\r, referer: http://localhost/APP/
ImportError: DLL load failed: 找不到指定的模块。\r, referer: http://localhost/APP/
相关包和版本详情:
视窗 10
姜戈 2.2
蟒蛇 3.7
康达 4.8.2
rdkit 2019.09.3 conda-forge
Wampserver 3.2
阿帕奇 2.4.41
模组-wsgi 4.7.1
PostgreSQL 10
本博客中的方法描述了我们如何设置生产服务器。通过一个小的改动,我们没有改变 httpd_vhosts.conf 文件,只设置了标准的 localhost。
通过尝试将 rdkit(或其方法之一)导入到在所描述的环境中托管 Web 应用程序所需的任何文件中,可以重现该错误。
我们在 rdkit sourceforge 上找到了这个 2016 线程,听起来其他人在 Linux 系统上遇到了类似的问题。这是我们第一次设置服务器,我们还没有成功地将推荐的修复从 linux 转换为 windows。没有后续行动知道该建议是否被尝试过,更不用说成功了。
这些 2012 年的幻灯片让我们相信有人试图克服 linux 中的类似问题(幻灯片 9)
需要如何更改包才能将其加载到网络服务器中?
谢谢,我们非常感谢您的时间和帮助。