當前位置:首頁 » 存儲配置 » pyinstaller如何自定義配置打包

pyinstaller如何自定義配置打包

發布時間: 2024-04-16 22:51:54

A. python桌面應用(pyinstaller打包多個py文件)

一 、當寫這篇文章的時候,pyinstaller官網版本對pyqt5打包可能會遇到Could not find QtWebEngineProcess.exe.的錯誤。解決方法為:

二 、如果有報錯:「could not find or load the Qt platform plugin "windows" 」。原因之一可能是你把打包後的文件放在了中文目錄下。只需要將打包後的文件放在英文目錄下,就可以解決。

三、 多文件打包為單一文件時,即pyinstaller 命令中加入了-F,也可能會導致錯誤。盡量不要使用-F。

使用pyinstaller打包的時候,僅打包.py文件,其餘依賴項只需在打包完成後,拷入打包生成的根目錄即可。

命令格式如下,下命令為一條命令,為方便顯示做了分行處理:

以上文圖中結構為例,在根目錄打開命令窗口,輸入命令:

在目錄結構:「程序根目錄\dist\main\」 下可以找到生成的main.exe。將其他依賴文件拷貝進入「程序根目錄\dist\main\」 下,即可運行。
=========吃雞、擼碼復古鍵盤=========

B. 使用Pyinstaller打包成EXE文件

pyinstaller能夠在Windows、Linux等操作系統下將Python腳本打包成可直接運行程序。使Python腳本可以在沒有安裝Python的環境中直接運行,方便共享。

python 2.7.12 + Windows7

1.待轉換的.py文件絕對路徑最好不要包含中文字元。容易出現一些莫名其妙的問題。

2.python中需要有.py文件中用到的第三方庫。否則在轉換後的.exe文件中會出現不符合預期的結果。

1.配置pip鏡像源。

在用慶族戶家目錄下創建pip目錄和pip.ini文件。方法如下

step1: 獲取HOMEPATH變數對應的路徑,執行 set HOMEPAT H也可以執行 echo %HOMEPATH% 獲取。

上述結果說明用戶家目錄HOMEPATH對應的路徑為C:UsersAdministrator。

step2: 在C:UsersAdministrator目錄下創建pip目錄,斗啟並在pip目錄下創建pip.ini文件。如果已經有pip目錄和pip.ini文件,跳過。 特別說明的是,pip.ini文件的後綴是.ini,注意隱藏擴展文件譽銷弊名可能造成的影響。 在pip.ini文件中添加相關內容並保存:

step3: 測試pip工具,確認是否能夠自動安裝第三方庫,如使用pip自動安裝Pexpect類庫。

step4: 進入python工具,執行import pexpect導入模塊命令,沒有報錯說明pip自動安裝pexpect庫成功。

step5: 結束安裝,後續安裝第三方庫就可以在任意路徑下直接執行pip install ${PackageName}進行安裝。

2.打開cmd命令行窗口,輸入 pip install pyinstaller ,安裝pyinstaller庫。

3.確認pyinstaller安裝結果,位於c:Python27Scripts路徑下。執行 where pyinstaller 查看

pyinstaller [options] script

例如: pyinstaller -F myscript.py

options常用選項說明:

pyinstaller其實就是把python解釋器和腳本打包成一個可執行文件,和編譯成真正的機器碼是完全兩回事。所以打包不一定會提高運行效率,可能會降低運行效率,但是好處是在運行者機器上不用安裝python和腳本所依賴的庫。
輸入指定的腳本後,首先pyinstaller會分析該腳本所依賴的其他依賴,然後進行查找、復制,把所有相關的依賴都收集起來並進行加密處理,包括python解釋器,最後把這些文件放在一個目錄下,或者打包到一個可執行文件,然後就可以直接運行所生成的可執行文件。
需要注意的是,使用pyinstaller打包生成的可執行文件,只能再和打包機器系統相同的環境下運行。32位python環境打包的程序可以運行在32/64位windows系統上。64位python環境打包的程序只能運行在64位windows系統上。所以如果想打包程序的話,建議使用32位python環境打包。

1.確認待轉換的.py文件可正確運行,不存在語法錯誤。如ccc.py

2.執行 pyinstaller -F ${Python腳本名} 完成文件轉換。.exe文件生成的絕對路徑會在倒數第二行顯示,通常位於當前目錄下dist所在目錄下。轉換後的.exe文件名與python文件名相同。如下圖所示

1.如果Python腳本使用到了第三方庫,如何打包?
方法一:將第三方庫對應的包復制到待打包python腳本的同目錄下,再執行打包命令。
方法二:pyinstaller.exe -F 路徑文件名.py 路徑文件名.py

2.我的python腳本主要是命令行輸出,但是程序執行完就退出無法查看相關信息,如何處理?
在python腳本最後一行添加命令:os.system('pause') 或者 raw_input('Press enter any key to exit...')

3.我想給我的打包後的執行程序換個圖標,如何處理?
使用參數-i。如命令:pyinstaller -F -i tupianqq.ico ccc.py。文件後綴名必須是.ico

4.程序運行出現CMD窗口,如何去除?
帶上參數-w即可。pyinstaller.exe -F call_login.py -w (-w表示去掉控制台窗口顯示)

5.pip配置鏡像源參考

C. Python項目文件(多個子文件,.py文件等)如何用pyinstaller打包為可執行exe文件

文件構成

使用pyinstaller打包的時候,僅打包.py文件,其餘依賴項只需在打包完成後,拷入打包生成的根目錄即可。

多文件打包

命令格式如下,下命令為一條命令,為方便顯示做了分行處理:

pyinstaller [主文件] -p [其他文件1] -p [其他文件2]
--hidden-import [自建模塊1]
--hidden-import [自建模塊2]
# 以上為一整條命令

以上文圖中結構為例,在根目錄打開命令窗口,輸入命令:

pyinstaller main.py -p mysql.py -p other.py --hidden-import mysql --hidden-import other

在目錄結構:「程序根目錄distmain」 下可以找到生成的main.exe。將其他依賴文件拷貝進入「程序根目錄distmain」 下,即可運行。

D. 如何使用pyinstaller打包python文件為exe文件

一、下載pyinstaller
我使用的版本為PyInstaller-2.1,支持python版本2.3-2.7

二、安裝pyinstaller
下載完成後,解壓即可。我的解壓目錄為D:\Python27\PyInstaller-2.1\

三、使用pyinstaller打包.py成.exe應用程序
1.注意使用前要安裝pywin32,點擊這里下載。

2.將需要打包的.py放到PyInstaller-2.1目錄下,如下圖所示。

在命令行,cd進入可執行python命令的目錄,執行命令:python pyinstaller.py [opts] yourprogram.py
主要選項包括:
-F, –onefile 打包成一個exe文件。
-D, –onedir 創建一個目錄,包含exe文件,但會依賴很多文件(默認選項)。
-c, –console, –nowindowed 使用控制台,無界面(默認)
-w, –windowed, –noconsole 使用窗口,無控制台
更詳細的使用方法可以參考下載包里的doc目錄下的Manual.html文件。

具體操作:
python pyinstaller.py-F sina_crawler.py

實際操作:(其實就是注意文件路徑,我的pyinstaller安裝目錄D:\Python27\pyinstaller-2.1\)
cd到d:\Python27\目錄下,然後命令:
python pyinstaller-2.1\pyinstaller.py -F pyinstaller-2.1\sina_crawler.py

如果最後出現Appending archive to EXE,則生成成功。

注意會生成(均在Python27目錄下):
1. dist文件夾(包含生成好的sina_crawler.exe)
2.build文件夾(中間生成,沒用,事後可以刪掉)
3.sina_crawler.spec文件(中間生成,沒用,事後可以刪掉)

熱點內容
編程培訓福州 發布:2024-07-27 12:28:06 瀏覽:876
哈弗h6女生適合哪個配置 發布:2024-07-27 12:10:52 瀏覽:954
memcached啟動腳本 發布:2024-07-27 11:55:41 瀏覽:558
電動車怎麼看配置 發布:2024-07-27 11:55:05 瀏覽:238
mfc打開默認文件夾 發布:2024-07-27 11:41:23 瀏覽:648
電腦找不到伺服器的原因 發布:2024-07-27 11:33:58 瀏覽:864
sql2005操作 發布:2024-07-27 11:33:19 瀏覽:437
安卓什麼app軟體可以代替藍牙 發布:2024-07-27 11:24:50 瀏覽:745
vb編譯運行 發布:2024-07-27 11:14:42 瀏覽:754
恆線速的演算法 發布:2024-07-27 10:45:46 瀏覽:759