0基础学挨踢-国产达梦数据库dmPython安装和避坑

题主还在苦逼的实习生涯中,由于是中国电信,所以处于安全和可控性,目前正在逐步转向国产数据库,例如金蝶,武汉达梦,人大金仓等国产数据库,但是国产数据库比较有趣(折磨),比如达梦家的dmPython就给我的工作带来莫大的帮助(阻碍),这里我们只讲dmPython的安装,所以前期的系统设置请大家自行search,也很简单就不再浪费时间。

请注意!不要使用pypi下载dmPython,那个版本我都不知道用来干啥的...

如果曾经不小心使用pypi下载过,那么你可以直接使用pip指令:pip uninstall dmPython全部删掉之后,再次尝试安装。

本文提供了:

1.windows下的dmPython安装

2.linux下有达梦数据库的dmPython安装

3.linux下无达梦数据库的dmPython安装(用于应用服务器,或者docker容器的构建)

1.Windows环境下基于Anaconda自带的python环境进行安装

首先使用Anaconda Prompt,使用conda create new -n dmPython --clone base创建一个新的conda环境dmPython,最好要不要污染base环境,那天安了不该安的直接卸载对应的虚拟环境就好了,可能会稍微久...。

使用conda activate dmPython进入dmPython环境

使用命令D:进入你安装达梦数据库的盘符,比如你安装在E盘就是E:

然后进入安装的目录,例如我这里是D: \DM\dmdbs\drivers\python\dmPython

因此我使用命令cd  DM/dmdbs/drivers/python/dmPython进入目录

使用下载命令 python setup.py install命令,实现下载 

 在这里我们疑似已经下载成功(其实坑在后面),那我们使用python命令进入编程环境,使用import dmPython进行测试

 导入模块时程序报错,这是由于没有加载到dpi里的dll文件导致,因此我们需要对dpi文件进行导入

首先我们使用exit(),推出python环境

 使用where python指令查询当前虚拟环境下python所在位置

进入第一个python.exe所在的位置吗,就是C:\Users\win10\.conda\envs\dmPython,点击Lib文件夹,点击site-packages文件夹,点击进入dmPython-2.4.8-py3.9-win-amd64.egg

 接着我们再使用一个新的窗口进入dpi所在的文件夹,它为于DM的安装目录下的drivers文件夹下点击dpi文件夹,无脑复制所有后缀为.dll的文件,粘贴到dmPython-2.4.8-py3.9-win-amd64.egg文件夹下。

 这个时候我们再使用anaconda prompt,使用python进入编程环境,接着尝试import dmPython

我们import dmPython第一次会报错,第二次就不会了,并且在我们输入dmPyhton.c后按下TAB键发现代码自动补齐,及就是可以使用,可是为什么会出现load fun EVP_sm3_ffun fail!的情况呢,这是由于还有两个后缀为.dll要放在和当前虚拟环境所用的python.exe同一目录,分别是libeay32.dll和ssleay32.dll,将他们复制到当前虚拟环境所用的python.exe同一目录(就是C:\Users\win10\.conda\envs\dmPython

 此时我们进入anaconda prompt再次进入python编程环境,使用import dmPython查看是否报错

 没有任何提示报错,说明运行成功,我们可以正常使用dmPython了。

2.Linux环境下的dmPython安装(内置DMDB版本)

1.必须首先安装达梦数据库再进行本部分安装,下面以达梦数据库安在/data/soft/dmdba/dmdbms/为例子,当我们完成达梦数据库安装后,我们需要进行环境变量配置,使用命令vi .bash_profile

进行输入,红框处为实例,请将路径更换为你机器中数据库的安装位置

2.进入安装路径cd /data/soft/dmdba/dmdbms/并使用命令cd /drivers/python/dmPython/进入驱动安装路径

3.使用命令python setup.py install进行dmPython的安装

 如上图表示安装成功,进行连接测试

4.使用命令python并输入import dmPython进行测试

  如上图表示安装成功,环境变量正确

3.Linux环境下的dmPython安装(无内置DMDB版,架构有关)

1.首先从有安装达梦数据库的安装目录下将/bin,i/nclude和/driver/python/dmPython目录导出打包为一个压缩包取出,如果没有也不要紧,我这里给大家提供了x86_64架构版本(dmPython2.3版本)的,aarch64版本的等我周一上班再更新... https://pan.baidu.com/s/1Hf_ZYLFunwK2q0nKQMUXhg?pwd=PY00 icon-default.png?t=N6B9https://pan.baidu.com/s/1Hf_ZYLFunwK2q0nKQMUXhg?pwd=PY00 2.将dmPython.tar.gz导入系统,并使用命令tar -zxvf dmPython.tar.gz -C /home/software解压

3. 进入解压后的目录对文件夹进行重命名(其实没有重命名也无所谓)

4.编辑环境变量,使用指令vim ~/.bash_profile,创建达梦的假安装路径和dpi连接,编辑后摁下esc键,输入:wq进行保存,然后使用更新命令source ~/.bash_profile

 5.进入第三步中重命名的文件夹fakeDM,进入子文件夹dmPython,使用安装命令python setup.py install进行安装。

  如上图表示安装成功,进行连接测试

4.使用命令python并输入import dmPython进行测试

  如上图表示安装成功,环境变量正确

猜你喜欢

转载自blog.csdn.net/it_farmer_01_17/article/details/130631766