日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python文件带图片打包exe(Pyinstaller)

發(fā)布時(shí)間:2024/3/24 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python文件带图片打包exe(Pyinstaller) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.安裝

pip install pywin32 pip install pyinstaller

2.打包

pyinstaller -F --noupx -w -i favicon.ico main.py -n name

-F:打包成一個(gè)EXE文件
-w:不帶console輸出控制臺(tái),window窗體格式
–paths:依賴包路徑
–icon:圖標(biāo)
–noupx:不用upx壓縮
–clean:清理掉臨時(shí)文件

注意事項(xiàng):

1.在import其他py文件時(shí)必須寫絕對(duì)路徑,寫相對(duì)路徑會(huì)報(bào)錯(cuò)找不到module
2. 不加–noupx可打包成功,但文件可能閃退

3.圖片文件打包

如果有圖片文件,則須在打包之前把圖片轉(zhuǎn)化成py文件,再使用上述方法打包。
這里采用base64格式

PicToPy.py

import base64def pictopy(picture_names, py_name):"""將圖像文件轉(zhuǎn)換為py文件:param picture_name::return:"""write_data = []for picture_name in picture_names:filename = picture_name.replace('.', '_')open_pic = open("%s" % picture_name, 'rb')b64str = base64.b64encode(open_pic.read())open_pic.close()# 注意這邊b64str一定要加上.decode()write_data.append('%s = "%s"\n' % (filename, b64str.decode()))f = open('%s.py' % py_name, 'w+')for data in write_data:f.write(data)f.close()if __name__ == '__main__':pics = ["logo_2.png", "logo.png"]pictopy(pics, 'memory_pic') # 將pics里面的圖片寫到 memory_pic.py 中print("ok")

完成后將會(huì)在當(dāng)前路徑下看到一個(gè)memory_pic.py文件

logo_2_png = "iVBORw0KGgoAAAANSUhEUgAAAXcAAABgCAIA...太長(zhǎng)省略" logo_png = "iVBORw0KGgoAAAANSUhEUgAAAX0AAAClCAYAAACwYy2nAAAAAXNSR...太長(zhǎng)省略"

在文件中使用pyqt顯示圖片

# 取base64圖片 logo = base64.b64decode(logo_png) logo_2 = base64.b64decode(logo_2_png) # pyqt頁(yè)面 base64轉(zhuǎn)化QPixmap icon = QPixmap() icon.loadFromData(logo_2) self.label_logo.setPixmap(icon)

總結(jié)

以上是生活随笔為你收集整理的Python文件带图片打包exe(Pyinstaller)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。