Pyinstaller打包附帶DLL、圖示和壓縮EXE方法
目的:
用Pyinstaller工具將python指令碼打包成一個exe檔案
原理:
利用spec配置檔案實現
步驟:
1、提前用命令安裝打包工具: pip install pyinstaller (已安裝的略過);
2、先生成spec檔案。用命令 pyinstaller -F test.py 生成test.spec檔案,如下圖:
3、編輯spec檔案新增第三方DLL。例如cx_Oracle模組用到的DLL,按如下格式編輯test.spec檔案的datas=[]引數;
datas=[('oci.dll','.'),('oraociei11.dll','.')]
4、編輯spec檔案新增圖示檔案。提前準備圖示檔案,例如:sm.ico,在exe = EXE()中新增 icon='sm.ico'
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='test',
debug=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True , icon='sm.ico')
5、利用upx命令壓縮exe。下載對應版本的upx工具包解壓到任意目錄下,執行命令
pyinstaller -F test.spec --upx upx路徑
如下圖:
6、spec檔案配置好後,每次修改程式碼只需執行如下編譯命令即可完成上述步驟,無需再去修改:
pyinstaller -F test.spec
最後打包好的exe檔案:
相關推薦
Pyinstaller打包附帶DLL、圖示和壓縮EXE方法
目的: 用Pyinstaller工具將python指令碼打包成一個exe檔案原理: 利用spec配置檔案實現步驟:1、提前用命令安裝打包工具: pip install pyinstaller (已安裝的略過);2、先生成spec檔案。用命令 pyinsta
Linux菜鳥起飛之路【七】文件合並、歸檔和壓縮
div 結果 執行 img src gzip 圖片 com .com 一、文件合並操作 1.覆蓋符號與追加符號 a)“>”代表將左邊文件的內容覆蓋右邊文件的內容,如果右邊文件不存在則創建這個文件 b)“>>”代表將左邊文件的內容追加到右邊文件中,如果右邊文
Android系統的桌面圖示文字——調整字型大小、圖示和文字間的間隔
一、適當縮小應用圖示名稱的字型大小,請參考我寫的“Launcher3佈局的佈局配置 ”,先確認裝置使用的哪一個profile標籤,然後適當縮小對應的launcher:iconTextSize 二、圖示和文字間的間隔 1、路徑:packages\apps\Launcher3\src\co\
Pyinstaller 打包 py虛擬環境 linux 和 windows
1.打包錯誤 第一時間 看路徑 是否有中文 2.打包後 發現exe 依舊打不開。 考慮是否有依賴圖片 直接把程式碼中所需要的圖片 放到與exe同目錄下(前提 程式碼中的圖片路徑為 當前目
ionic入門之色彩、圖示和邊距和介面元件:列表
色彩 ionic定義了九種前景/背景/邊框的色彩樣式,: 可以在任何元素上使用這些樣式設定前景和背景顏色: <any class="positive-bg energized"> ... </any> 圖示 ionic使用io
微信分享朋友圈分享程式碼自定義標題、說明、圖示和分享連結
最近在做手機網站在分享到微信時,通過微信內建瀏覽器訪問頁面分享後,希望可以自定義小圖示(imgUrl)和分享連結(lineLink),下面下微信內建瀏覽器分享功能的JS程式碼,希望對大家有所幫助。 JS程式碼如下: var imgUrl = "http://www.gdibn.com/m/im
Java-序列化、持久化和壓縮
1. 序列化的作用 將物件變成一串位元組流 不用序列化能否儲存磁碟上? 可以,但是你要將物件中一個個的基本屬性進行寫入操作,比如int之流, 當然, 按你自己希望的順序,. 序列化和持久化之間的關係 序列化過程是持久化的一種方式,當然
Socket程式設計------TCP檔案傳輸(文件、聲音、圖片、視訊和壓縮包等)
本程式是基於TCP穩定傳輸的檔案傳輸,可以相容任何型別任何格式的檔案傳輸。 ☆基本思路(客戶端) 客戶端需要明確伺服器的ip地址以及埠,這樣才可以去試著建立連線,如果連線失敗,會出現異常。 連線成功,說明客戶端與服務端建立了通道,那麼通過IO流就可以進行資料的傳輸,而So
String、Stringbuilder和StringBuffer常用方法
case 位置 string對象 ase system span builder println lsi 1、String類: //根據字符串直接量來創建一個String對象。新創建的對象是該參數字符串的副本。 String s = new String("String
封裝、property和綁定方法
you integer 第一個 做到 參數 bmi 內部 定義數據 實例化 一、封裝 1.定義 封:指的是該屬性對外是隱藏的,但是對內部是開放的 裝:申請一個名稱空間,往裏邊丟名字和屬性 2.為什麽要有封裝 2.1 封裝數據屬性的目的: 首先定義數據屬性的目
python中@staticmethod、@classmethod和實例方法
dir pri cep ear 代碼 應用 can 打印 靜態 1.形式上的異同點: 在形式上,Python中:實例方法必須有self,類方法用@classmethod裝飾必須有cls,靜態方法用@staticmethod裝飾不必加cls或self,如下代碼所示: 1
Android 修改app圖示和名稱的方法
1修改程式名: 請到values/strings.xml下 ? 1 2
使用Pivot、Pivot_Table、Stack和Unstack等方法在Pandas中對資料變形(重塑)
Pandas是著名的Python資料分析包,這使它更容易讀取和轉換資料。在Pandas中資料變形意味著轉換表或向量(即DataFrame或Series)的結構,使其進一步適合做其他分析。在本文中,小編將舉例說明最常見的一些Pandas重塑功
Android系統預製APK、so和bin的方法
一、Android系統中預製APK 1. 預製有原始碼的APK的Android.mk LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optional // optional:指該模組
java 介面中用private、protected、public、default和status修飾方法和變數
通常使用java 的介面時都是不帶修飾符的public interface Test { int a = 0; void test(); } 其實這個裡面有好多修飾符都是預設省略掉了。 正確的型別應該是: public interface Test { publ
設定Textview的Drawableleft、Drawableright 等圖片與文字間距、位置和大小的方法
給自己記錄點筆記順便也給用的著的朋友給點參考設定Textview的Drawableleft 等圖片的間距的問題 以Textview舉例 想得到如下圖的Textview效果public class MyText extends TextView { public MyT
OpenCV3、Python3和PyCharm安裝方法及環境配置
新手用原生的Python安裝計算機視覺相關環境不是太方便,所以可以選擇整合環境,可以選用Anaconda整合開發環境。 第一步,下載: 從官方地址https://www.continuum.io/downloads#windows下載,windows操作平臺下官網現
線性篩約數個數、約數和的新方法
n) http 約數 質因子 9.png int pan 思考 -s 最近本人腦洞大開,發現了一種線性篩約數個數和約數和的一種神奇方法。 網上的方法我看基本都是利用num[i]數組記錄i最小的質因子的個數,然後再搞搞。 我認為可以省去num[i]數組,直接進行遞推。 我們知
pyinstaller打包exe問題:AttributeError、setuptools、DLL和PyQt5
之前寫的一個Python程式,打包為 .exe 完全正常,這次卻報錯。還不知道如何將.py檔案轉為.exe檔案的可以檢視: 將Python程式(.py)轉換為Windows可執行檔案(.exe) 一、背景介紹 公司使用的python環境是Anconda+P
Linux文件壓縮和打包(gzip、bip2、xz工具)
linux常見壓縮格式Windows:.rar、.zip、.7zLinux :.zip、.gz、.bz2、.xz、.tar、.gz、.tar.bz2、.tar.xzgzip壓縮工具用來壓縮文件(常用)gzip 1.txt 壓縮 1.txt g