由于工作中查找数据库的情况比较多,并且涉及各种windows版本、server版本,更新电脑后win7 、win10等等意想不到的情况。特经过多番重复后,想着还是记录一下,方便日后查看。
首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本。
比如,win10安装python最新版本python 3.10,打包的exe ,无法在win7客户端使用。
耗时耗精力,终于查找原因,最终还是得根据不同人的需求来定义。
当然,你要是强势的甲方,你可以要求别人按照你的需求来做。
言归正传,我们确认一下:
①python版本,目前大多数都是64位的操作系统了吧
当然64位操作系统也可以安装32位的开发环境。
比如:
Python版本:Python3.8.0 64位;
cx_Oracle的版本:cx_Oracle-5.2-11g.win32-py3.4
oracle客户端的版本:instantclient-basic-win32-11.2.0.1.0;
②下载cx_oracle对应的版本
https://pypi.org/project/cx-Oracle/#files
在网页中查看cp后面的数字,代表python的版本,安装版本
复制三个文件,将Oracle客户端安装路径下的 oci.dll oraocci11.dll oraociei11.dll这三个文件拷贝到python安装路径的LIB/site-packages
坑点 :python3.8 安装pyinstaller ,有问题 ,
根据网络办法,先将site-packages目录下pyinstaller 中
将 from win32ctypes.pywin32 import pywintypes # noqa: F401, E402
from win32ctypes.pywin32 import win32api # noqa: F401, E402
注释掉。添加
import pywintypes
import win32api
尝试后发现还是不能正常打包,于是发挥群里吹水,广集思路,将pywin32 更新后,可正常打包
pip install pywin32 -i https://pypi.tuna.tsinghua.edu.cn/simple