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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

学习笔记(42):Python实战编程-pyinstaller程序打包

發布時間:2023/12/10 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记(42):Python实战编程-pyinstaller程序打包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

將程序打包可以使得所有Windows帶有python虛擬機的電腦進行使用,打包的內容有代碼加外部資源(如logo圖片等)

步驟:
1)創建程序的代碼
2)生成配置文件——用于獲得打包的資源,將資源保存在運行程序的電腦的臨時文件中,這里臨時文件是resources文件夾


3)修改python源代碼:因為此時的程序的資源目錄resources不一定在當前項目的目錄下,而是在打包后再次運行時一定要將資源解壓縮到臨時文件當中


4)創建配置文件:因為程序打包需要引用資源文件,因此必須手工地對資源的路徑進行定義,就需要根據打包程序生成一個.spec配置文件,
pyi-makespec -F *.py給定要打包的程序

?


5)編輯spc文件,定義我們需要使用資源路徑打開.spec文件——找到datas=[],項,修改為data = [("resources","resources")]里面放的是一個元組


6)程序打包:pyinstaller -F *.spec


7)若沒有則使用pyinstaller -F *.py,
8)打包結束后就會有*.exe文件了

?

?

'''將程序打包可以使得所有Windows帶有python虛擬機的電腦進行使用,打包的內容有代碼加外部資源(如logo圖片等)步驟: 1)創建程序的代碼 2)生成配置文件——用于獲得打包的資源,將資源保存在運行程序的電腦的臨時文件中,這里臨時文件是resources文件夾 3)修改python源代碼:因為此時的程序的資源目錄resources不一定在當前項目的目錄下,而是在打包后再次運行時一定要將資源解壓縮到臨時文件當中 4)創建配置文件:因為程序打包需要引用資源文件,因此必須手工地對資源的路徑進行定義,就需要根據打包程序生成一個.spec配置文件, pyi-makespec -F *.py給定要打包的程序 5)編輯spc文件,定義我們需要使用資源路徑打開.spec文件——找到datas=[],項,修改為data = [("resources","resources")]里面放的是一個元組 6)程序打包:pyinstaller -F *.spec 7)若沒有則使用pyinstaller -F *.py, 8)打包結束后就會有*.exe文件了 '''import tkinter,os#導入創建窗體的相關模塊 import sys#導入與操作系統交互的模塊def get_resource_path(relative_path):#利用此函數實現資源路徑的定位if getattr(sys,"frozen",False):base_path = sys._MEIPASSelse:base_path = os.path.abspath(".")#獲得當前目錄路徑return os.path.join(base_path,relative_path)#獲得絕對路徑# image_path = image_path = r'C:\Users\jinlin\Desktop\python_further_study\GUI編程\resources' + os.sep + 'linlianqin.gif'#只支持gif格式的圖片''' 下面這個語句提示無法找到路徑提示錯誤,這里特別需要注意: 1)修改代碼后需要重新按照以上步驟進行,尤其不能忘記了修改配置文件的datas 2)必須得先pyi-makespec -F *.py指定要打包的程序,再修改配置文件,再pyinstaller -F *.spec程序打包 '''print(get_resource_path(os.path.join("resources","linlianqin.gif"))) image_path = get_resource_path(os.path.join("resources","linlianqin.gif"))#修改圖片的路徑,從上面定義的資源路徑中獲取圖,get_resource_path(os.path.join("臨時資源文件夾","圖片名稱"))class Mainwindow():#創建窗口類def __init__(self):root = tkinter.Tk() # 創建主體窗口root.title('linlianqin') # 定義窗體的名字root.geometry('500x500') # 定義窗體的初始大小root.maxsize(1200, 1200) # 設置窗口可以顯示的最大尺寸#---------------以下是對按鈕的設置---------------photo = tkinter.PhotoImage(file = image_path)#設置按鈕的外觀,這里是將圖片設置為按鈕的外觀button = tkinter.Button(root,text = 'linlianqin',image = photo,compound = 'bottom')#創建按鈕button.pack()#顯示按鈕root.mainloop()#顯示窗口if __name__ == '__main__':Mainwindow()#將窗體類實例化

?

總結

以上是生活随笔為你收集整理的学习笔记(42):Python实战编程-pyinstaller程序打包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。