使用pyinstaller打包使用cx_Oracle模块的程序出现The specified module could not be found的问题
pyinstaller看起来并不会将动态链接库自动打包,所以我们需要告诉pyinstaller要打包哪些动态链接库,步骤如下(假设python文件名为 oracletest.py):
1. 使用pyinstaller -F oracletest.py 打包后会生成一个oracletest.spec文件,我们要修改这个spec文件。
将 a.binaries, 改为
a.binaries+[('oraociei12.dll','C:\\oracle\\instantclient_12_2\\oraociei12.dll','BINARY'),('oci.dll','C:\\oracle\\instantclient_12_2\\oci.dll','BINARY'),('oraons.dll','C:\\oracle\\instantclient_12_2\\oraons.dll','BINARY')],
以上路径需要参照oracle instantclient 的存放目录进行修改。
2. 依照spec文件打包,执行命令如下:
pyinstaller -F oracletest.spec
3.现在打包之后会将动态链接库打包进exe包。因为oracle的这几个动态链接库非常大,所以导致打包完的exe包也非常大。
以上方法参考stackoverflow的解决方案,经个人实测发现里面提到的动态链接库还不够,我这里用到的动态链接库如上文所述。
参考链接:https://stackoverflow.com/questions/36478831/pyinstaller-cx-oracle-interfaceerror-unable-to-acquire-oracle-environment-hand/36483476
最新文章
- cmd常用命令 和 sql server相关基础
- 有用C函数集锦
- UIWebView 加载网页、文件、 html-b
- settimeout vs setinternal
- angularJS随笔
- Swift纯代码走进UICollectionView
- IDEA下Spring Boot的快速搭建
- 关于Vue的路由、脚手架笔记
- Spring-depends on
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext
- Jquery浅克隆与深克隆
- codeforces#410C Mike and gcd problem
- BPDU报文(传统STP)
- nodejs 利用zip-local模块压缩文件夹
- selenium操作浏览器
- Nginx下配置ThinkPhp多入口访问
- LeetCode OJ 47. Permutations II
- JAVA 16进制转ASCII -- 2018年5月25日 周五
- 44. Wildcard Matching *HARD*
- Hibernate性能优化之SessionFactory重用
热门文章
- 使用layui的form.on绑定select选中事件, form.on()不执行的原因分析
- ThinkPHP如何在控制器中调用命令
- 哈夫曼编解码压缩解压文件—C++实现
- C语言位操作中指定的某一位数置0、置1、取反
- Chrome 浏览器光标定位到地址栏
- time() 函数时间不同步问题
- Hystrix的介绍(断路、降级)
- vue中设置全局的css样式
- ASP.NET Core分布式项目-2.oauth密码模式identity server4实现
- MogliFS与spring mvc结合简单示例