Python打包方法Pyinstaller的使用
Python是一個(gè)腳本語(yǔ)言,被解釋器解釋執(zhí)行。它的發(fā)布方式:
- .py文件:對(duì)于開源項(xiàng)目或者源碼沒那么重要的,直接提供源碼,需要使用者自行安裝Python并且安裝依賴的各種庫(kù)。(Python官方的各種安裝包就是這樣做的)
- .pyc文件:有些公司或個(gè)人因?yàn)闄C(jī)密或者各種原因,不愿意源碼被運(yùn)行者看到,可以使用pyc文件發(fā)布,pyc文件是Python解釋器可以識(shí)別的二進(jìn)制碼,故發(fā)布后也是跨平臺(tái)的,需要使用者安裝相應(yīng)版本的Python和依賴庫(kù)。
- 可執(zhí)行文件:對(duì)于非碼農(nóng)用戶或者一些小白用戶,你讓他裝個(gè)Python同時(shí)還要折騰一堆依賴庫(kù),那簡(jiǎn)直是個(gè)災(zāi)難。對(duì)于此類用戶,最簡(jiǎn)單的方式就是提供一個(gè)可執(zhí)行文件,只需要把用法告訴Ta即可。比較麻煩的是需要針對(duì)不同平臺(tái)需要打包不同的可執(zhí)行文件(Windows,Linux,Mac,...)。
本文主要就是介紹最后一種方式,.py和.pyc都比較簡(jiǎn)單,Python本身就可以搞定。將Python腳本打包成可執(zhí)行文件有多種方式,本文重點(diǎn)介紹PyInstaller,其它僅作比較和參考。
Python版本:Python3.5.2或本地下載地址
一、安裝Pyinstaller
1、安裝pywin32
下載安裝文件:查找到跟自己適用的python版本及window系統(tǒng)版本匹配的pywin32,下載后安裝
使用pip命令安裝:pip install pywin32
2、安裝Pyinstaller
下載安裝文件安裝:官網(wǎng)
使用pip命令安裝:pip install PyInstaller
二、使用Pyinstaller
1、使用下載安裝的方式安裝的Pyinstaller打包方式
將需要打包的文件放在解壓得到的Pyinstaller文件夾中,打開cmd窗口,把路徑切換到當(dāng)前路徑打開命令提示行,輸入以下內(nèi)容(最后的是文件名):
python pyinstaller.py -F myfile.py
2、使用pip方式安裝的Pyinstaller打包方式
打開cmd窗口,把路徑切換到文件所在路徑(文件隨便放在哪里都行)打開命令提示行,輸入以下內(nèi)容(最后的是文件名):
pyinstaller -F myfile.py
3、輸入?yún)?shù)的含義
-F 表示生成單個(gè)可執(zhí)行文件
-w 表示去掉控制臺(tái)窗口,這在GUI界面時(shí)非常有用。不過(guò)如果是命令行程序的話那就把這個(gè)選項(xiàng)刪除吧!
-p 表示你自己自定義需要加載的類路徑,一般情況下用不到
-i 表示可執(zhí)行文件的圖標(biāo)
三、注意事項(xiàng)
文件中使用了第三方庫(kù)的打包方式
在打包之前務(wù)必找到第三方庫(kù)的包,把包復(fù)制到到跟myfile.py同目錄下,然后再使用以上2種方式打包,否則會(huì)打包失敗或者即使打包成功,程序也會(huì)閃退。
下面演示一下使用了第三方庫(kù)的打包方式:
找到第三方庫(kù)的包,如使用了requests,可以使用查找的方式,找到這個(gè)包在哪里,然后把它復(fù)制到myfile.py同目錄下
把包文件復(fù)制到myfile.py目錄下
給程序換圖標(biāo)的方法
輸入命令中添加一個(gè)-i tubiao.ico(圖標(biāo)的相對(duì)路徑)。如圖:
四、exe文件生成
如果程序打包過(guò)程沒有報(bào)錯(cuò),則會(huì)生成3個(gè)文件夾(有時(shí)候是2個(gè)),其中名為dist的文件夾中會(huì)有一個(gè)myfile.exe文件,運(yùn)行一下,如果沒有問(wèn)題就打包成功,可以把這個(gè)exe文件單獨(dú)拿出去用,其他的生成的文件夾可以刪掉了。
其他打包工具
distribute
功能類似setuptools. 安裝后會(huì)有easy_install. 支持Python2和Python3.
官方: https://pypi.python.org/pypi/distribute/0.7.3
已經(jīng)于2013年7月5日的0.7.3版后停止開發(fā)。
distutils2
功能類似setuptools.
官方:https://pypi.python.org/pypi/Distutils2/1.0a4
已經(jīng)于2012年3月13日的1.0a4版后開始停止開發(fā)。
PyPI上的原文: keep using setuptools and pip for now, don't use distutils2.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 用PyInstaller把Python代碼打包成單個(gè)獨(dú)立的exe可執(zhí)行文件
- python-pyinstaller、打包后獲取路徑的實(shí)例
- Python中用pyinstaller打包時(shí)的圖標(biāo)問(wèn)題及解決方法
- python3.9實(shí)現(xiàn)pyinstaller打包python文件成exe
- 教你使用pyinstaller打包Python教程
- python使用Pyinstaller如何打包整個(gè)項(xiàng)目
- PyInstaller?完美打包?Python?腳本
- Python?pyinstaller打包exe最新完整圖文教程
- Python使用pyinstaller打包成.exe文件執(zhí)行后閃退的圖文解決辦法
- PyInstaller打包Python腳本的使用示例
相關(guān)文章
Django模板導(dǎo)入母版繼承和自定義返回Html片段過(guò)程解析
這篇文章主要介紹了Django模板導(dǎo)入母版繼承和自定義返回Html片段過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09使用Python將Markdown格式轉(zhuǎn)為EPUB電子書格式的代碼實(shí)現(xiàn)
我們每天都會(huì)接觸到大量的文本內(nèi)容,無(wú)論是收藏的技術(shù)文檔、自己撰寫的筆記,還是網(wǎng)絡(luò)上的優(yōu)質(zhì)文章,都可能面臨閱讀體驗(yàn)不佳的問(wèn)題,所以本文給大家介紹了使用Python將Markdown格式轉(zhuǎn)為EPUB電子書格式的實(shí)現(xiàn)方法,需要的朋友可以參考下2025-04-04Python中2種常用數(shù)據(jù)可視化庫(kù)Bokeh和Altair使用示例詳解
本文對(duì)Python中兩個(gè)常用的數(shù)據(jù)可視化庫(kù)?Bokeh?和?Altair?進(jìn)行了比較和探討,通過(guò)對(duì)它們的特點(diǎn)、優(yōu)缺點(diǎn)以及使用示例的詳細(xì)分析,讀者可以更好地了解這兩個(gè)庫(kù)的功能和適用場(chǎng)景,從而更好地選擇合適的庫(kù)來(lái)進(jìn)行數(shù)據(jù)可視化工作,感興趣的朋友跟隨小編一起看看吧2024-04-04python cx_Oracle模塊的安裝和使用詳細(xì)介紹
這篇文章主要介紹了python cx_Oracle模塊的安裝和使用詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-02-02Python while、for、生成器、列表推導(dǎo)等語(yǔ)句的執(zhí)行效率測(cè)試
這篇文章主要介紹了Python while、for、生成器、列表推導(dǎo)等語(yǔ)句的執(zhí)行效率測(cè)試,本文分別用兩段程序測(cè)算出了各語(yǔ)句的執(zhí)行效率,然后總結(jié)了什么情況下使用什么語(yǔ)句優(yōu)先使用的語(yǔ)句等,需要的朋友可以參考下2015-06-06Python實(shí)現(xiàn)批量解壓文件夾下所有壓縮包
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)批量解壓文件夾下所有壓縮包,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02