文档目录 drivers 下有 python/dmPython 目录。
1、解压 dmPython.tar.gz
tar -zxvf dmPython.tar.gz
2、运行以下命令
cd dmPython
python setup.py install
1、解压 dmPython.tar.gz
tar -zxvf dmPython.tar.gz
2、运行以下命令
cd dmPython
3、设置 DM_HOME 环境变量为某个目录,假定为 /opt/dmdbms
export DM_HOME=/opt/dmdbms
4、把 libdmdpi.so 拷贝(从其他安装过 DM 数据库的相同操作系统的机器上拷贝)到 $DM_HOME 目录。
5、把 include 目录拷贝到 $DM_HOME 目录下。
cp -r ./include $DM_HOME/
6、运行以下命令
python setup.py install
windows 平台生成安装包 (exe)
python setup.py bdist_wininst
LINUX 平台生成安装包 (rprm)
python setup.py bdist_rpm
若安装过程中出现依赖问题,则:
rpm -ivh file.rpm --nodeps
rpm -ivh dmPython-1.1-7.1-py26-1.x86_64.rpm --nodeps
rpm -e dmPython-1.1-1.x86_64
python setup.py install
安装脚本 setup.py 中全局变量 defineMacros 使用 defineMacros = [(‘DM64’, None),];否则,使用 defineMacros = []。
平台执行上述命令时,需先进行如下准备工作:
定义环境变量 DM_HOME,并将其添加到环境变量 PATH 中。
Unable to find vcvarsall.bat
解决方案如下:
WIN 平台执行 import dmPython 时,可能会遇到如下问题:
import dmPython
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: 找不到指定的模块
此时因为 dmPython 找不到动态库 dpi,需要到 dpi 所在目录执行或者配置环境变量指向 dpi 所在目录;若为安装版执行,则直接配置环境变量指向 bin 目录即可。
linux 为例:export LD_LIBRARY_PATH=/mnt/dm7Src/dev2/build/linux/linux_build/debug
环境信息:
cd /d07/dmdbms/drivers/python/dmPython
python setup.py install
报错:
解决方法:安装 python-devel 依赖包。
yum install python-devel
编辑脚本:
import dmPython
conn =
dmPython.connect(user='SYSDBA',password='SYSDBA',server='192.168.56.97',port=5236)
cursor = conn.cursor()
cursor.execute('create table pythontest(id int)')
cursor.execute('insert into pythontest values(?)',1)
cursor.execute('select id from pythontest')
sets = cursor.fetchall()
print sets
cursor.close()
conn.close()
返回结果:
[root@dm7 ~]# python test.py
[(1L,)]
python:2.7.17
python setup.py bdist_wininst
提示缺少 vc++ 9.0 需要下载 VCForPython27.msi 安装 VCForPython27.msi 后,再安装成功。
import dmPython 报错找不到
ImportError: No module named dmPython
添加环境变量:(指定 dmPython.pyd 文件路径)
import dmPython
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: 找不到指定的模块。
添加环境变量:(指定 dmdpi.dll 文件路径)
F:\dmdbms\bin>python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import dmPython
>>> conn = dmPython.connect('SYSDBA/SYSDBA@192.168.56.97:5236')
>>> cur = conn.cursor()
>>> cur.execute('select id from pythontest')
<__builtin__.DmdbCursor on <dmPython.Connection to SYSDBA@192.168.56.97:5236>>
>>> print cur.fetchall()
[(1L,)]
>>> cur.close()
>>> conn.close()
>>>
文章
阅读量
获赞