使用pyinstaller制作包含Oracle数据库的可执行程序
2016-02-05 09:48
483 查看
使用pyinstaller制作包含Oracle数据库的可执行程序
准备
首先参考[Linux上pip安装cx_Oracle]安装cx_Oracle库和oracle驱动instantclient_11_2。这里假定oracle驱动还是解压到/opt/instantclient_11_2目录下,内容大致如下:
/opt/instantclient_11_2 ├── adrci ├── BASIC_LITE_README ├── genezi ├── libclntsh.so.11.1 ├── libnnz11.so ├── libocci.so.11.1 ├── libociicus.so ├── libocijdbc11.so ├── ojdbc5.jar ├── ojdbc6.jar ├── sdk ├── uidrvci └── xstreams.jar
测试程序
创建一个目录myapp,在其下新建一个test.py文件,内容如下:import cx_Oracle conn = cx_Oracle.connect('jhinno/jhinno@192.168.0.188/jhinno') cursor = conn.cursor () cursor.execute ("select sysdate from dual") row = cursor.fetchone () print row cursor.close () conn.close ()
打包spec文件
在myapp目录下创建test.spec文件,内容如下:# -*- mode: python -*- a = Analysis(['test.py'], pathex=['myapp'], hiddenimports=[], hookspath=None, runtime_hooks=None) a.binaries = a.binaries + [('libclntsh.so', '/opt/instantclient_11_2/libclntsh.so.11.1','BINARY')] a.binaries = a.binaries + [('libnnz11.so', '/opt/instantclient_11_2/libnnz11.so','BINARY')] a.binaries = a.binaries + [('libocci.so', '/opt/instantclient_11_2/libocci.so.11.1','BINARY')] a.binaries = a.binaries + [('libociicus.so', '/opt/instantclient_11_2/libociicus.so','BINARY')] pyz = PYZ(a.pure) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name='test', debug=False, strip=None, upx=True, console=True )
注意其中a.binaries的配置,将oracle需要用到的库加了进来。
打包
运行pyinstaller命令,如下:pyinstaller test.spec
打包后在myapp/dist目录下生成test的可执行文件,可以直接运行来测试。
转载请以链接形式标明本文地址
本文地址:http://blog.csdn.net/kongxx/article/details/50637058
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法