python打包發布到手機 python打包發布

2021-10-11 19:24:43 字數 1782 閱讀 3760

跟所有python小白一樣,我也遇到了python打包發布的問題!

先用了py2exe,由於專案裡面需要訪問oracle資料庫,匯入cx_oracle模組,就是這個蛋疼的東西坑咯!

安裝cx_oracle的過程就不多說了 這個帖子講得很清楚:

oracle instant client 設定環境變數是讓python可以取到oci.dll,所以很多人把oci.dll, oraocci11.dll,oraociei11.dll都放到了python27\lib\site-packages目錄下面,也能解決問題;

用py2exe打包後  dist裡面有乙個msvcp80.dll的檔案,系統版本不一樣名稱不一樣,有可能是msvcp90.dll、msvcp71.dll

這樣打包就完成了, 問題也來了, 用64位的python,其它模組都是64位的,打包出來的64位程式在64位系統上執行沒有問題, 用32位的python(其它也是32位)打包出來的程式在windows server 2003伺服器系統上,始終不能正常執行,經除錯是匯入cx_oracle模組出錯,「 loaded failed ,找不到指定的模組」複製各種dll進去都沒解決到;最後放棄py2exe

改用pyinstall

2、安裝

3、pyinstaller使用方法

使用也非常的簡單,cmd下進入解壓出來的目錄,執行如下命令。

python pyinstaller.py [opts]yourprogram.py

主要選項包括:

-f, –onefile 打包成乙個exe檔案。 -d, –onedir 建立乙個目錄,包含exe檔案,但會依賴很多檔案(預設選項)。 -c, –console, –nowindowed 使用控制台,無介面(預設) -w, –windowed, –noconsole 使用視窗,無控制台

使用pyinstall的問題:

打包時出現類似這種情況:

file "c:\python27\lib\ctypes\util.py", line 54, in find_library

fname = os.path.join(directory, name)

file "c:\python27\lib\ntpath.py", line 108, in join

path += "\\" + b

unicodedecodeerror: 'ascii' codec can't decode byte 0xc1 in position 9: ordinal not in range(128)

【原因】

安裝過程需要訪問使用者資料夾:

如果使用者名稱是中文,不識別。

【解決辦法】

修改ntpath.py,將import sys改為:

import sys

reload(sys)

sys.setdefaultencoding("gbk")

問題2:manifest could not be extracted

【現象】

程式執行時出現這個錯誤:

manifest could not be extracted

【原因】

不明。【解決辦法】

開始用python pyinstaller.py -f test.py

打包成乙個單一的檔案,

換成python pyinstaller.py -d test.py

生成乙個目錄 ,這樣會把所有需要的dll都放在目錄下面;解決問題;

通過python pyinstaller.py -d test.py 完美解決windows server 2003 無法匯入cx_oracle模組的問題;

j2me程式發布到手機

a.配置程式 jad 檔案 required microeidtion configuration 要和手機支援相符合,現在大部分都是1.1版 midlets name 遊戲名稱,icon 遊戲圖表,class 遊戲主入口 就 是midlet所在的類 配置上面兩點後儲存 b.發布程式 右擊應用,選擇...

Python打包多個 py檔案為 exe

檔案結構 test getxxketang.py downloadfile.py data.py tt.db accd.xml reason.csv 多個.py檔案和多個打包命令格式如下 pyinstaller 主檔案 p 其他檔案1 p 其他檔案2 hidden import 自建模組1 hidd...

python指令碼打包發布 pyinstaller

windows發行版 win7 64位 python發行版 anaconda pip install pyinstaller測試是否成功安裝 pyinstaller version3.2 pyinstaller helloworld.pyor pyinstaller onefile hellowor...