Python打包方法——Pyinstaller


Python版本:Python3.8

一、安裝Pyinstaller

1、安裝pywin32

    • 下載安裝文件:查找到跟自己適用的python版本及window系統版本匹配的pywin32,下載后安裝 

    • 使用pip命令安裝:pip install pywin32

2、安裝Pyinstaller

    • 下載安裝文件安裝:官網

    • 使用pip命令安裝:pip install PyInstaller

二、使用Pyinstaller

1、使用下載安裝的方式安裝的Pyinstaller打包方式

將需要打包的文件放在解壓得到的Pyinstaller文件夾中,打開cmd窗口,把路徑切換到當前路徑打開命令提示行,輸入以下內容(最后的是文件名):

    • python pyinstaller.py -F myfile.py

2、使用pip方式安裝的Pyinstaller打包方式

打開cmd窗口,把路徑切換到文件所在路徑(文件隨便放在哪里都行)打開命令提示行,輸入以下內容(最后的是文件名):

    • pyinstaller -F myfile.py    

3、輸入參數的含義

  • -F 表示生成單個可執行文件

  • -w 表示去掉控制台窗口,這在GUI界面時非常有用。不過如果是命令行程序的話那就把這個選項刪除吧!

  • -p 表示你自己自定義需要加載的類路徑,一般情況下用不到

  • -i 表示可執行文件的圖標

打包exe文件:

      如果是打包一個py文件,可以使用“pyinstaller -F 待打包文件名”進行打包,在命令執行完畢后,會在dist目錄下生成一個“待打包文件名.exe”的文件。如果不使用“-F”參數,則會在dist目錄下生成一個“待打包文件名”的文件夾,該文件夾下包含“待打包文件.exe”,但是要整個文件夾在一起才能正常工作,因為這個文件夾的功能相當於使用“-F”時的一個“待打包文件.exe”。

       使用“F”強制打包參數,有時會導致軟件功能運行不正常,僅限於小的范例使用,如果項目有多個py文件,則建議別再使用“F”參數。

      如果項目有多個文件,打包時可以把多個文件列出來,中間用空格隔開即可。

      如果需要修改默認圖標為指定圖標,則使用“-i  圖標文件名”來實現。如:pytinstall -i XXX.ico run.py test1.py test2.py test3.py

  如一個項目下有多個子文件,子文件里面又有py文件或配置文件,打包方法參考:1、把啟動文件放在和文件夾一個目錄。 2、pyinstaller -D 啟動文件 3、這時候會生成buid和dist dist應該是空的 但是會多出一個啟動文件名.spec 4、在.spec文件里寫上 import sys sys.setrecursionlimit(100000) block_cipher = None 5、pyinstaller 啟動文件名.spec 6、這時候dist文件夾里就有啟動文件.exe程序了 如果沒有其他錯誤i應該就可以執行了。(沒試過)

 pyinstaller的參數見下表,大家可以在需要時參考。

 

 

三、注意事項

  • 文件中使用了第三方庫的打包方式

在打包之前務必找到第三方庫的包,把包復制到到跟myfile.py同目錄下,然后再使用以上2種方式打包,否則會打包失敗或者即使打包成功,程序也會閃退。

下面演示一下使用了第三方庫的打包方式:

    • 找到第三方庫的包,如使用了requests,可以使用查找的方式,找到這個包在哪里,然后把它復制到myfile.py同目錄下

    • 把包文件復制到myfile.py目錄下

 

    • 給程序換圖標的方法
      • 輸入命令中添加一個-i tubiao.ico(圖標的相對路徑)。如圖:

四、exe文件生成

  • 如果程序打包過程沒有報錯,則會生成3個文件夾(有時候是2個),其中名為dist的文件夾中會有一個myfile.exe文件,運行一下,如果沒有問題就打包成功,可以把這個exe文件單獨拿出去用,其他的生成的文件夾可以刪掉了。

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM