为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:windows
【CPU】:intel
【问题描述】*:
python3 setup.py install没有报错,但是import dmPython时一直报
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing dmPython: 找不到指定的模块。
1.按照https://eco.dameng.com/document/dm/zh-cn/start/python-development.html
pip3 list安装成功
将dpi目录文件拷贝到D:\Python\Python310\Lib\site-packages\dmPython-2.4.5-py3.10-win-amd64.egg路径下
不生效
2.按照https://eco.dameng.com/document/dm/zh-cn/faq/faq-python.html
添加环境变量
不生效
3. 按照https://eco.dameng.com/community/question/685e57e64a8499010fad851c2a802eb7
不生效
4. 按照https://eco.dameng.com/community/training/92efead8affde47fd95ba5d060118456
仍不生效,但是先import dpi
再import dmPython就可以
由于在Windows环境下,python3.8提高了扩展模块(dmPython)的依赖DLL加载的安全性,现在只能从以下三个目录加载依赖库:system paths(即system32目录)、PYD文件所在目录、通过add_dll_directory()添加的目录。通过设置PATH环境变量和当前工作目录将不再有效。
因此,在Windows上安装完dmPython,即使环境变量PATH设置了dpi库所在目录,在import dmPython时也会出现"DLL load failed while imorting dmPython"的报错。
在python3.8及以上版本环境下使用dmPython,需要进行以下设置:
import dpi是为了引入dm bin目录下的dpi动态库文件,dmpython依赖于这些dpi文件,低版本python可以通过在site-packages里面放入dm bin目录dll文件解决
遇到相同的问题,直接import dmPython报错,先import dpi,再import dmPython就可以,很奇怪