使用pyinstaller製作包含Oracle資料庫的可執行程式

來源:互聯網
上載者:User

標籤:

使用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_Oracleconn = cx_Oracle.connect(‘jhinno/[email protected]/jhinno‘)  cursor = conn.cursor ()cursor.execute ("select sysdate from dual")row = cursor.fetchone ()print rowcursor.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

使用pyinstaller製作包含Oracle資料庫的可執行程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.