最近閒來無事, 在玩轉PYTHON, PYTHON真是個有趣的程式語言, 功能強大, 尤其適合資安領域使用..

加上現在有CHATGPT對學習程式啊語文類,真是一大助益…

PYTHON雖有不少外掛的函式庫, 但使用的方法可能會隨著版本的更迭而有微小的差異, 比如由圖書館借了些PYTHON的書, 你會發現書上很多程式碼跑不出來, 這時CHATGPT就很好用了, 你可以問它,現在你裝的是PYTHON 3.11, 放上程式碼詢問, 它通常能給出不錯的建議, 但我也發現它也會有些小性子, 如果你程式漏了關鍵的一行, 它不會告訴你, 這或許是免費版故意設出的限制, 好PUSH你去付費使用它4.0的版本..

之前我漏了一行, 問它好幾次, 它都沒幫我補上, 最後我只好自己看程式, 看了半天才發現我漏了一行…

書上原有的寫法, 只是介紹這pytube 和tkinter兩個外掛函式的用法..所以包括存檔路徑也必須自行輸入, 但其實正常程式應都是有個瀏覽按鈕,讓你自行在跳出的檔案管理視窗選擇存檔的路徑..所以我就針對這些進行修改, 另外原有書上的程式, 只單一指定下載的解析度, 但其實YOUTUBE一般一個影片都有多種不同解析度可供下載, 我就也加入此解析度選擇的選項

其實這個youtube 下載影片的功能, 滿網皆是, 很多網頁能提供, 但每回都得上網找找, 但現在網頁太多干擾了, 像廣告之類, 更可怕的是, 也可能在網頁上埋下別的東西, 偷偷在你瀏覽時植入些什麼好康的在你電腦里,自己弄個小程式, 可以說真的是乾浄衛生

只是寫好程式後, 總不能每回要用時, 都要開啟開發工具, 然後在寫程式的界面上按執行, 所以首先就是如何將PYTHON程式包裝成WINDOWS能用的執行檔, 而PYTHON確實也提供這樣的外掛函式,可以將PYTHON寫好的程式包成執行檔..

首先, 這個外掛函式並未內建在已安裝的PYTHON裡, 必須透過PIP指令先行安裝pyinstaller外掛函式

pip install pyinstaller

安裝完之後,再執行以下指令即可將寫好的.py程式包裝成執行檔

pyinstaller your_script.py

接著下一個問題….

既然已經有執行檔了, 如何安裝到別的電腦, 其實也很簡單, 只要ZIP下來, 再解壓到任一其它電腦, 即便該電腦沒有安裝PYTHON也要能夠執行..但如果要讓解壓等問題都不太熟悉的超級純用戶,就得附上個安裝程式豈不更香?

後來我選擇使用inno setup, 這個程式可以包裝成安裝程式, 只是在包裝時, 使用精靈去包裝時還是會有問題, 問題出在, 當你用pyinstaller去包EXE檔時, 它會在目錄下放入一個次目錄,名叫_inners

在用inno setup時, 它會把此次目錄直接全丟在你要包的主目錄下, 這樣安裝出來便不能使用, 所以必須手動修改一下編譯前的script檔, 以下是inno setup的界面

所以我將[FILES]這一段, 變更如下, 要刪掉它原有那行,改成如下的那一行

以下是編譯完安裝程式後的執行安裝過程影片:

https://kevin-urcloud.tinytake.com/df/1548af1/thumbnail?type=attachments&version_no=0&file_version_no=0&thumbnail_size=preview

最後便是下載youtube影片的操作, 請見以下示範:

https://kevin-urcloud.tinytake.com/df/1548b2b/thumbnail?type=attachments&version_no=0&file_version_no=0&thumbnail_size=preview

By Kevin

發佈留言