Python打包發佈神器—Pyinstaller

前言html

windows平臺學習python的過程當中,你確定會遇到須要把.py腳本打包成.exe的情形,如此,至少有兩方面的好處:第一,你的代碼保密性更好,其餘人不能直接看到python代碼;第二,打包後的exe程序無需再安裝相應的模塊便可直接使用;其中,第二條是咱們作打包工做的主要考慮,方便工具的分發和使用。python

 

python打包工具簡潔web

Python是一門開放、包容、優雅的開發語言,因此,相關領域的模塊或工具天然是不少的,其中打包工具,比較普遍的是如下三個:windows

Pyinstaller微信

py2exeapp

Cx_freezeide

可是,在此,我只想介紹Pyinstaller的使用,緣由是:該工具使用很是簡單,只須要一條命令,無需像其餘工具還要編寫setup文件;另外,該工具更新快,可以適應python的更新,目前發佈到3.4版本了。固然,還有其餘緣由,對其餘同質的工具瞭解很少,擁有Pyinstaller,足夠了!工具

 

Pyinstaller安裝方法學習

依稀記得在py2的時代,使用pyinstaller2.x是直接下載的windows安裝包進行安裝,目前遷移到py3,再次關注pyinstaller時,它已經發展到了3.4,而且支持2.7 or 3.4-3.7,這點很是重要,可能其餘打包工具還不能這麼好的支持python3spa

 

Pyinstaller的安裝變的很是簡單,以下:

pip install pyinstaller

 

使用pip安裝的好處是,會把相關的依賴一併安裝了。

 

Pyinstaller用法

該工具好用的主要表現,莫過於使用簡單,打包一個python項目只需一條命令,以下:

Pyinstaller.exe –F -i path/youricon.ico path/yourscript.py

命令事後,腳本就被打包成exe文件了,並且圖標也換成你指定的ico圖片了,是否是很便捷呀!

 

固然,你也能夠不指定exe圖標,此時,無需增長-i 參數,-F參數將腳本打包成單一的exe文件,通常使用該命令便可。

 

主要參數以下:

參數

含義

-F

指定打包後只生成一個exe格式的文件

-D

–onedir 建立一個目錄,包含exe文件,但會依賴不少文件(默認選項)

-c

–console, –nowindowed 使用控制檯,×××面(默認)

-w

–windowed,   –noconsole 使用窗口,無控制檯

-p

添加搜索路徑,在指定的路徑尋找對應的庫。

-i

添加生成程序的icon圖標

-n

爲生成的exe起個名字

 

報錯及解決方法

安裝完成後,打包程序報錯:「failed to create process

發生該報錯的可能緣由是:

1.  python的安裝路徑有空格,好比安裝在Program Files (x86)目錄,pyinstaller版<3.4;

2.  pyinstaller==3.4;


針對第一種狀況,路徑有空格,解決方法是:

在Python安裝目錄下的Scripts中找到pyinstaller-scripts.py打開,把第一行的路徑加上引號,如#!d:\program files (x86)\python36\python.exe改成#!"d:\program files (x86)\python36\python.exe",解決問題。


針對第二種狀況,pyinstaller已是最新版本,即使python安裝路徑有空格,pyinstaller-scripts.py中解釋器的路徑也會被自動加上引號,一種可行的解決方法是:

把路徑切換到python安裝路徑的scripts目錄,執行python pyinstaller-script.py path/YourScript.py進行打包便可解決問題。

 

其餘資源

關於python學習、分享、交流,筆者開通了微信公衆號【小蟒社區】,感興趣的朋友能夠關注下,歡迎加入,創建屬於咱們本身的小圈子,一塊兒學python。

相關文章
相關標籤/搜索