python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe
簡述
1.python
python作為一門解釋型腳本語言,它有三種發(fā)布方式:
- 文件 : 源碼文件,運(yùn)行需要使用者安裝Python環(huán)境并且安裝依賴的各種庫
- pyc文件:pyc文件是Python解釋器可以識別的二進(jìn)制碼,可跨平臺的,需要使用者安裝相應(yīng)版本的Python和依賴庫。
- 可執(zhí)行文件:不需要安裝python環(huán)境和依賴庫,可針對不同平臺需要打包不同的可執(zhí)行文件(Windows,Linux,Mac,…)
2.pyInstaller
- PyInstaller工具可以把python解析器和腳本打包成一個(gè)可執(zhí)行的文件,并不是編譯成真正的機(jī)器碼,打包成一個(gè)可執(zhí)行文件后運(yùn)行效率可能會(huì)降低,好處就是在使用者的機(jī)器上可以不用安裝python和你的腳本依賴的庫。
- 利用PyInstaller對指定的的腳本打包時(shí),會(huì)先分析腳本所依賴的其他腳本,然后根據(jù)導(dǎo)包路徑去查找,把所有相關(guān)的腳本收集起來,包括Python解析器,然后根據(jù)你的命令參數(shù)可分別生成文件夾,或者打包成一個(gè)可執(zhí)行文件。
- 無論是生成的文件夾里的可執(zhí)行文件或者只打包成一個(gè)可執(zhí)行文件都可以直接運(yùn)行,前者需要把整個(gè)文件夾都給別人。
- 注意:PyInstaller打包的執(zhí)行文件,只能在和打包機(jī)器系統(tǒng)同樣的環(huán)境下。也就是說,不具備可移植性,若需要在不同系統(tǒng)上運(yùn)行,就必須針對該平臺進(jìn)行打包。
環(huán)境準(zhǔn)備
1.python安裝
進(jìn)入官網(wǎng)https://www.python.org/ 點(diǎn)擊Downloads下的Windows按鈕,進(jìn)入下載頁面,并安裝
打開cmd,輸入python,如果結(jié)果如下圖所示則表示安裝成功!
卸載Python,點(diǎn)擊之前下載的Python安裝包,點(diǎn)擊Uninstall卸載。
2.pyInstaller安裝
PyInstaller在windows下的安裝
使用命令pip install PyInstaller即可
在windows下,pyinstaller需要PyWin32的支持。當(dāng)用pip安裝PyInstaller時(shí)未找到PyWin32,會(huì)自動(dòng)安裝pypiwin32
PyInstaller在mac,linux下的安裝
pip install PyInstaller
PyInstaller打包
1. 基本語法:
PyInstaller -F -w -i xxx.ico dev.py --hidden-import=pandas._libs.tslibs.timedeltas
常用參數(shù):
-F 指只生成一個(gè)exe文件,不生成其他dll文件
-w 不彈出交互窗口,如果你想程序運(yùn)行的時(shí)候,與程序進(jìn)行交互,則不加該參數(shù)
-i 設(shè)定程序圖標(biāo) ,其后面的xxx.ico文件就是程序小圖標(biāo)
dev.py 要打包的程序,如果你不是在dev.py同一級目錄下執(zhí)行的打包命令,這里得寫上dev.py的路徑地址
–hidden-import=pandas._libs.tslibs.timedeltas 隱藏相關(guān)模塊的引用
注意:你在哪個(gè)目錄下執(zhí)行的命令,默認(rèn)打包完成的文件或者文件夾就在該目錄
2. 打包實(shí)例:
D:\itwork\python>pyinstaller -F -c one.py
PyInstaller打包常見問題
1.超時(shí):Read timed out
到此這篇關(guān)于python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe的文章就介紹到這了,更多相關(guān)python文件打包成exe內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 用PyInstaller把Python代碼打包成單個(gè)獨(dú)立的exe可執(zhí)行文件
- Python打包方法Pyinstaller的使用
- python-pyinstaller、打包后獲取路徑的實(shí)例
- Python中用pyinstaller打包時(shí)的圖標(biāo)問題及解決方法
- 教你使用pyinstaller打包Python教程
- python使用Pyinstaller如何打包整個(gè)項(xiàng)目
- PyInstaller?完美打包?Python?腳本
- Python?pyinstaller打包exe最新完整圖文教程
- Python使用pyinstaller打包成.exe文件執(zhí)行后閃退的圖文解決辦法
- PyInstaller打包Python腳本的使用示例
相關(guān)文章
Python數(shù)據(jù)清洗工具之Numpy的基本操作
Numpy的操作對象是一個(gè)ndarray,所以在使用這個(gè)庫進(jìn)行計(jì)算的時(shí)候需要將數(shù)據(jù)進(jìn)行轉(zhuǎn)化,這篇文章主要介紹了Python數(shù)據(jù)清洗工具之Numpy的基本操作,需要的朋友可以參考下2021-04-04Python中數(shù)據(jù)清洗與處理的常用方法小結(jié)
數(shù)據(jù)清洗與處理是數(shù)據(jù)分析的重要步驟,確保數(shù)據(jù)的準(zhǔn)確性和一致性,這篇文章為大家整理了Python中一些常用的數(shù)據(jù)清洗與處理方法,需要的可以參考下2025-02-02python和Appium移動(dòng)端多設(shè)備自動(dòng)化測試框架實(shí)現(xiàn)
這篇文章主要介紹了python和Appium移動(dòng)端多設(shè)備自動(dòng)化測試框架實(shí)現(xiàn),基于pytest和Appium框架,支持Android和iOS功能自動(dòng)化的測試框架的相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-04-04Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)在字典中將鍵映射到多個(gè)值上的方法
這篇文章主要介紹了Python在字典中將鍵映射到多個(gè)值上的方法,涉及Python針對字典的相關(guān)映射與初始化相關(guān)操作技巧,需要的朋友可以參考下2018-02-02淺談Tensorflow 動(dòng)態(tài)雙向RNN的輸出問題
今天小編就為大家分享一篇淺談Tensorflow 動(dòng)態(tài)雙向RNN的輸出問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python調(diào)用VBA實(shí)現(xiàn)保留原始樣式的表格合并方法
本文主要介紹了Python調(diào)用VBA實(shí)現(xiàn)保留原始樣式的表格合并方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01