注册

如何在darwin平台安装dmPython驱动

noone 2021/12/08 1051 3 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:V7.6
【操作系统】:darwin
【CPU】:
【问题描述】*:学习了一些dmPython的安装步骤,均提到了服务器环境,鉴于达梦没有提供darwin平台的安装包,请问有没有适配darwin平台的文件可以发一下?

 45 def CheckDmHome(directoryToCheck):
 46     global dmHome, dmLibDir
 47     import os
 48     import struct
 49     import sys
 50
 51     if sys.platform in ("win32", "cygwin"):
 52         if struct.calcsize("P") == 4:
 53             subDirs = ["bin", "debug", "release"]
 54         else:
 55             subDirs = ["bin", "x64/debug", "x64/release"]
 56         filesToCheck = ["dmdpi.dll"]
 57     elif sys.platform == "darwin":
 58         subDirs = ["bin"]
 59         filesToCheck = ["libdmdpi"]
 60     else:
 61         subDirs = ["bin", "build/linux/linux_build/debug", "build/linux/linux_build/release"]
 62         filesToCheck = ["libdmdpi.so"]
 63

问题
第59行的 libdmdpi 是本机没有的文件,因为没有使用darwin系统安装成功。

 59         filesToCheck = ["libdmdpi"]

达梦服务器操作系统为麒麟,以上对应文件libdmdpi.so,在更改59行安装脚本后

59         filesToCheck = ["libdmdpi.so"]

虽然安装成功,但导入dmPython报错。
安装:

(base) ➜  dmPython python setup.py install
running install
running bdist_egg
running egg_info
writing dmPython.egg-info/PKG-INFO
writing dependency_links to dmPython.egg-info/dependency_links.txt
writing top-level names to dmPython.egg-info/top_level.txt
reading manifest file 'dmPython.egg-info/SOURCES.txt'
writing manifest file 'dmPython.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.9-x86_64/egg
running install_lib
running build_ext
creating build/bdist.macosx-10.9-x86_64/egg
copying build/lib.macosx-10.9-x86_64-3.8/dmPython.cpython-38-darwin.so -> build/bdist.macosx-10.9-x86_64/egg
creating stub loader for dmPython.cpython-38-darwin.so
byte-compiling build/bdist.macosx-10.9-x86_64/egg/dmPython.py to dmPython.cpython-38.pyc
creating build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying dmPython.egg-info/PKG-INFO -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying dmPython.egg-info/SOURCES.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying dmPython.egg-info/dependency_links.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying dmPython.egg-info/top_level.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
writing build/bdist.macosx-10.9-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
__pycache__.dmPython.cpython-38: module references __file__
creating 'dist/dmPython-2.3-py3.8-macosx-10.9-x86_64.egg' and adding 'build/bdist.macosx-10.9-x86_64/egg' to it
removing 'build/bdist.macosx-10.9-x86_64/egg' (and everything under it)
Processing dmPython-2.3-py3.8-macosx-10.9-x86_64.egg
removing '/Users/babeyaga/opt/anaconda3/lib/python3.8/site-packages/dmPython-2.3-py3.8-macosx-10.9-x86_64.egg' (and everything under it)
creating /Users/babeyaga/opt/anaconda3/lib/python3.8/site-packages/dmPython-2.3-py3.8-macosx-10.9-x86_64.egg
Extracting dmPython-2.3-py3.8-macosx-10.9-x86_64.egg to /Users/babeyaga/opt/anaconda3/lib/python3.8/site-packages
dmPython 2.3 is already the active version in easy-install.pth

Installed /Users/babeyaga/opt/anaconda3/lib/python3.8/site-packages/dmPython-2.3-py3.8-macosx-10.9-x86_64.egg
Processing dependencies for dmPython==2.3
Finished processing dependencies for dmPython==2.3

导入:

>>> import dmPython
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/babeyaga/opt/anaconda3/lib/python3.8/site-packages/dmPython-2.3-py3.8-macosx-10.9-x86_64.egg/dmPython.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '_dpi_alloc_bfile'
>>>

请提供适配文件或解决方案,非常感谢

回答 0
暂无回答
扫一扫
联系客服