2022-06-05|閱讀時間 ‧ 約 4 分鐘

[Python] python轉exe

前言:

在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。
但如果你會修改python直譯器裡的東西的話,那其實一般的反組譯是沒有辦法把你的pyc檔給破解的,但實際上怎麼做?“我沒研究”以後有空再來研究分享給各位。
那為什麼要選擇把python轉成exe呢? 姆姆個人認為有兩點好處:
  1. 不管你是交付py或pyc檔,當你在開發程式的過程中,肯定會用到第三方套件,也就是說對方的電腦也必須安裝那些套件才能使用你的程式。當然這不是什麼大問題把你的套件導到一個檔案,讓對方在使用你的程式前先 pip install 它就可以了。【所以啊~ 轉成exe的時候就會把你當初安裝的第三方套件也給一起弄進 去,這樣對方就可以直接使用】
  2. 另外就是反組譯比較困難,也就是對方沒有辦法很簡單的看到你程式的內容。
接下來讓咱們進入正題,網路上有很多教導python轉exe的方法跟工具,這邊講的是我實際用過而且覺得方便的工具。

安裝auto-py-to-exe
打開console輸入下面的指令:
pip install auto-py-to-exe
稍等一會即安裝完成
稍等一會即安裝完成
在console執行下面的指令把auto-py-to-exe給執行起來:
執行auto-py-to-exe
接下來就會看到起始的畫面如下圖:
起始畫面

使用說明
首先一般來說如果你只有一支主程式的話,就在上圖的“腳本位置”選擇你原始碼的路徑,再點一下“設置”選擇要輸出的路徑。再按下畫面底下的“將.PY轉換為.EXE”就可以把你的py檔轉成exe檔。
這邊以上一篇文章中的sample.py做為例子,完成後就會像下圖中黃色區域所示:
轉換完成
打開目錄就會看到以你程式為命名的資料夾,這邊叫 sample 。接著打開 console 然後切換到 sample 目錄底下,執行 sample.exe 就搞定了。如下圖:
執行sample.exe
以上是最單純的例子,為什麼這樣說呢? 因為你開發功能,不太可能用單一一個程式重頭寫到尾,當然如果只是簡單的功能是可以的。但一般我們會開發自己的模組給程式用,這時候你在py轉成exe的時候就要多帶一個路徑,這樣他才會把你自己開發的(模組)module也一起包進去,以免發生給使用者使用的時候,說找不到對應的模組而不能使用,那要怎麼添加呢?

添加自己的模組
選擇 '高級' 選項然後會看到 '--paths' 然後選擇要跟著exe一起包起來的模組們,再按下轉換就可以了,如下圖所示:
以上就是今天介紹的,如何將py檔轉成exe的大致過程,當然這工具裡面還有很多功能,有需求的就自己研究囉。
另外可能會有人問說能不能點兩下就執行exe,這部分因為姆姆在工作上沒有人提出這樣的需求,但我自己也好奇! 所以日後有時間在來研究一下再把來把這功能補在這篇上。
以上~ 謝謝閱讀。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.