Windows环境部署

一、环境准备

注意: 安装的python、java应该同时是32位或者64位。因为jpype包的兼容问题, python版本建议2.7或3.4+, 且java建议是java8、java9、java11中的版本,jpype的更多说明参考 https://pypi.org/project/JPype1

1、安装python

尽量下载比较新的版本,因为这种python版本自带pip工具。python2、python3都可以,如果是windows里的python2,后面用源码方式安装JayDeBeApi时需要安装VCForPython27.msi,因VCForPython27.msi官网现没提供链接,所以这里不提供它的下载链接,可自行搜索到第三方网址下载。

2、安装java

版本信息如下:

../../../../_images/img111.png

3、安装pip

Python 2.7.9 +和Python 3.4+ 以上版本一般都自带 pip 工具。如果没有pip工具,执行下列几步来安装pip,源码方式安装python包可跳过安装pip:

1、 将 https://bootstrap.pypa.io/get-pip.py 内容复制下来保存为get-pip.py;

2、 执行命令:python get-pip.py,注意用哪个版本的 Python 运行安装脚本,pip就被关联到哪个版本,安装pip成功如图:

../../../../_images/img23.png

二、安装依赖包

根据电脑是否能联外网,选择如下之一方式进行安装。

无网环境

1、 下载好JPype1和jaydebeapi源码包上传至目标机器,下已列出下载链接:

2、 针对不同版本的python,下载对应的JPype1,进入JPype1的目录下,执行python setup.py install进行源码编译方式安装。

可能遇到的报错:

../../../../_images/img32.png

在python3.5下安装JPype1时可能会遇到上图中的错误,提示缺少typing_extensions,这是因为python3.5没有内置typing_extensions包,高版本的python不存在这个问题,可下载 https://www.cnpython.com/pypi/typing-extensions/download 下载tar.gz包,在解压后的文件夹里执行命令: python setup.py install 进行安装。

3、 进入Jaydebeapi的目录下,执行python setup.py install进行源码编译方式安装。

安装Jaydebeapi过程中,可能遇到如下报错,此时用命令pip install --upgrade pip升级pip即可

../../../../_images/img42.png

有网环境

1、 确保windows环境下的python环境里有pip工具,如果没有pip,参照章节:Windows环境部署-环境准备-安装pip。

2、 在终端中运行pip install JayDeBeApi,会自动安装其依赖包JPype1。此时一般会报缺少Microsoft Visual C++ x.x is required的错误,下载 https://download.microsoft.com/download/5/f/7/5f7acaeb-8363-451f-9425-68a90f98b238/visualcppbuildtools_full.exe?fixForIE=.exe 安装对应版本的vc库。

三、jdbc准备

在神通数据库的安装目录下的drivers/jdbc文件夹里有oscarJDBC8.jar、oscarJDBC16.jar等多种版本的JDBC的jar包,oscarJDBC8.jar表示适配java8版本,oscarJDBC16.jar则表示适配java16。当前的java8则需用oscarJDBC8.jar。

Linux环境部署

Linux里的环境部署,与windows里部署步骤一样,提前安装好python、pip和java环境,有网情况下用pip install JayDeBeApi直接进行安装JayDeBeApi, 一般不需要额外安装c的库;无网情况则参照“windows环境部署-无网环境”的章节安装进行安装。

Linux里安装pip:

1、 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py ,下载安装脚本;

2、 sudo python get-pip.py,注意用哪个版本的 Python 运行安装脚本,pip就被关联到哪个版本。

国产平台环境部署

理论上部署跟linux一样。目前测试过的国产平台有:龙芯、arm,其环境下安装的python2.7、python3.5-python3.9分别匹配java8可使用, 其中python的版本和java的版本都是64位。