Pyinstaller+Pipenv打包Python文件的實現(xiàn)示例
相信大家都試過將Python文件進(jìn)行打包,來發(fā)給其他沒有安裝Python環(huán)境的用戶使用,但通常情況下,打包生成的exe文件都很大,而產(chǎn)生這種情況的原因就是,打包并不會只打包我們所使用的一些庫,在我們?nèi)粘J褂玫沫h(huán)境中,可能會有很多沒有用的關(guān)聯(lián)庫被一起打包。這時,創(chuàng)建一個虛擬環(huán)境就是最好的選擇,然后在虛擬環(huán)境中進(jìn)行打包。
安裝pipnev
pipenv 用來管理虛擬環(huán)境,先安裝一下 pipenv。
pip install pipenv
使用 pip show pipenv 檢查是否安裝成功。
前期準(zhǔn)備
創(chuàng)建一個文件夾,來保存虛擬環(huán)境相關(guān)文件,并cd進(jìn)入該文件夾下。
創(chuàng)建虛擬環(huán)境
pipenv install
進(jìn)入虛擬環(huán)境
pipenv shell
安裝項目用到的庫
pip install pandas
如果數(shù)量比較多的話,可以新建一個requirements.txt文件來保存需要的庫名,一起下載。

再在虛擬環(huán)境中運行下面代碼,記得修改requirements.txt文件路徑,這里添加了阿里鏡像速度要快些。
pip install -r D:\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
在虛擬環(huán)境中安裝pyinstaller
這一步至關(guān)重要,如果沒有在虛擬環(huán)境中安裝pyinstaller的直接打包的話,會使用默認(rèn)python環(huán)境的pyinstaller進(jìn)行打包,那么,恭喜你前面都白做了。
pip install pyinstaller
使用pyinstaller打包
pyinstaller打包有不少可選參數(shù),可以根據(jù)自己的需要進(jìn)行添加。
-F:打包單個文件,產(chǎn)生一個文件用于部署(默認(rèn)),如果代碼都寫在一個 .py 文件時使用,項目有多個文件時不要使用
pyinstaller -F xxx.py
-D:打包多個文件,產(chǎn)生一個目錄用于部署(默認(rèn)),用于框架編寫的代碼打包
pyinstaller -D xxx.py(項目入口文件)
–key=keys:使用 keys 進(jìn)行加密打包
pyinstaller --key=123456 -F xxx.py
- -d:產(chǎn)生
debug版本的可執(zhí)行文件 - -p:用來添加程序所用到的包的所在位置,設(shè)置導(dǎo)入路徑,可以用
;( Linux 使用:)分割來指定多個目錄。 - -w:表示不用控制臺窗口,使用 Windows 子系統(tǒng)執(zhí)行,當(dāng)程序啟動的時候不會打開命令行(只對 Windows 有效)
- -c:表示打開控制臺窗口,使用控制臺子系統(tǒng)執(zhí)行,當(dāng)程序啟動的時候會打開命令行(默認(rèn))(只對 Windows 有效)
- -i:將 file.ico 添加為可執(zhí)行文件的資源,改變程序的圖標(biāo)(只對 Windows 系統(tǒng)有效)
下面是我打包時用的代碼。
./1.ico:exe文件圖標(biāo)路徑./test.py:代碼路徑
pyinstaller -F -w -i ./1.ico ./test.py
運行完之后,可執(zhí)行文件在dist文件夾下。
下面是兩種情況下打包的對比,可以看到在虛擬環(huán)境中打包生成的可執(zhí)行文件要小很多。

當(dāng)然我們虛擬環(huán)境用完了之后,如果想要刪除虛擬環(huán)境,可以
pipenv --rm 刪除虛擬環(huán)境
這里再給出一些pipenv的常用操作
pipenv --where 列出本地工程路徑 pipenv --venv 列出虛擬環(huán)境路徑 pipenv --py 列出虛擬環(huán)境的Python可執(zhí)行文件 pipenv install 創(chuàng)建虛擬環(huán)境 pipenv isntall [moduel] 安裝包 pipenv install [moduel] --dev 安裝包到開發(fā)環(huán)境 pipenv uninstall [module] 卸載包 pipenv uninstall --all 卸載所有包 pipenv graph 查看包依賴 pipenv lock 生成lockfile pipenv run python [pyfile] 運行py文件
到此這篇關(guān)于Pyinstaller+Pipenv打包Python文件的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Pyinstaller Pipenv打包Python 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- PyInstaller?完美打包?Python?腳本
- pyinstaller將python程序打包為可執(zhí)行文件
- 如何使用pyinstaller打包多個和單個python文件詳解
- 使用PyInstaller庫把Python程序打包成exe
- python非單一.py文件用Pyinstaller打包發(fā)布成exe
- 用python打包exe應(yīng)用程序及PyInstaller安裝方式
- python之pyinstaller組件打包命令和異常解析實戰(zhàn)
- 教你使用pyinstaller打包Python教程
- 如何利用pyinstaller打包Python程序為exe可執(zhí)行文件
- python打包pyinstall的實現(xiàn)步驟
相關(guān)文章
python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法
今天小編就為大家分享一篇python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python統(tǒng)計時間內(nèi)的并發(fā)數(shù)代碼實例
這篇文章主要介紹了Python統(tǒng)計時間內(nèi)的并發(fā)數(shù)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12
缺失值可能是數(shù)據(jù)科學(xué)中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當(dāng)?shù)靥幚硭鼈兊姆椒?。本文總結(jié)了四個Python查詢?nèi)笔е档姆椒?,需要的可以參考一?/div> 2022-05-05
使用python創(chuàng)建股票的時間序列可視化分析
這篇文章主要為大家詳細(xì)介紹了python創(chuàng)建股票的時間序列可視化分析,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03最新評論

