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