[Python] python轉exe

更新於 發佈於 閱讀時間約 4 分鐘

前言:

在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付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

執行auto-py-to-exe

接下來就會看到起始的畫面如下圖:

起始畫面

起始畫面

使用說明

raw-image




首先一般來說如果你只有一支主程式的話,就在上圖的“腳本位置”選擇你原始碼的路徑,再點一下“設置”選擇要輸出的路徑。再按下畫面底下的“將.PY轉換為.EXE”就可以把你的py檔轉成exe檔。


這邊以上一篇文章中的sample.py做為例子,完成後就會像下圖中黃色區域所示:

轉換完成

轉換完成

打開目錄就會看到以你程式為命名的資料夾,這邊叫 sample 。接著打開 console 然後切換到 sample 目錄底下,執行 sample.exe 就搞定了。如下圖:

執行sample.exe

執行sample.exe

以上是最單純的例子,為什麼這樣說呢? 因為你開發功能,不太可能用單一一個程式重頭寫到尾,當然如果只是簡單的功能是可以的。但一般我們會開發自己的模組給程式用,這時候你在py轉成exe的時候就要多帶一個路徑,這樣他才會把你自己開發的(模組)module也一起包進去,以免發生給使用者使用的時候,說找不到對應的模組而不能使用,那要怎麼添加呢?

添加自己的模組

選擇 '高級' 選項然後會看到 '--paths' 然後選擇要跟著exe一起包起來的模組們,再按下轉換就可以了,如下圖所示:

raw-image

以上就是今天介紹的,如何將py檔轉成exe的大致過程,當然這工具裡面還有很多功能,有需求的就自己研究囉。

另外可能會有人問說能不能點兩下就執行exe,這部分因為姆姆在工作上沒有人提出這樣的需求,但我自己也好奇! 所以日後有時間在來研究一下再把來把這功能補在這篇上。

以上~ 謝謝閱讀。

留言
avatar-img
留言分享你的想法!
Peggy Wu-avatar-img
2023/03/27
不好意思,想跟你請教一個問題,第一次寫自動化主題是將測試解果前後圖片貼在ppt做比較,在python介面執行是沒問題的,但是轉成exe執行是有問題的,想了解是哪邊沒注意的嗎?謝謝
姆姆雞抖-avatar-img
發文者
2023/04/28
Peggy Wu 問題解決了嗎?拍謝,現在才看到您的問題。
avatar-img
姆姆雞抖的沙龍
9會員
4內容數
姆姆雞抖的沙龍的其他內容
2024/01/31
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定: 打開 Command Prompt(管理員權限): 按下Win,輸入
Thumbnail
2024/01/31
在一般情況我們可以使用 Windows 的 UI 介面來變更網路卡的名稱、IP 等等。但在要使用到 python 或其他程式控制時就不太合用了,所以這邊介紹使用 command 的方式來變更 Windows 中的網卡設定: 打開 Command Prompt(管理員權限): 按下Win,輸入
Thumbnail
2022/05/20
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
2022/05/20
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
2022/05/09
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
2022/05/09
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
Thumbnail
PyInstaller 是一個強大的工具,可以將 Python 程式碼打包成獨立的可執行檔案,讓你的程式可以在沒有 Python 解釋器的情況下運行。這對於分享和分發你的 Python 應用程式非常有用。以下是使用 PyInstaller 的基本步驟:
Thumbnail
PyInstaller 是一個強大的工具,可以將 Python 程式碼打包成獨立的可執行檔案,讓你的程式可以在沒有 Python 解釋器的情況下運行。這對於分享和分發你的 Python 應用程式非常有用。以下是使用 PyInstaller 的基本步驟:
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
前言: 在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。 使用說明
Thumbnail
前言: 在前面的文裡講過,之前交付給工廠的程式都屬於原始碼,但是今天假設不想公開原始碼給其他人的話或是你要交付的對象是客戶,然後又礙於公司的一些規定所以不能給原始碼的時候,其實可以交付pyc檔。但在現今火箭都上外太空了,如果對方有心想要破解的話其實網路想也有很多教導反組譯的方式。 使用說明
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
  python這個程式語言,還有一項優點就是,擁有龐大的模組支援,所以在寫程式時可多利用網路上的模組,節省寫程式的時間。
Thumbnail
  python這個程式語言,還有一項優點就是,擁有龐大的模組支援,所以在寫程式時可多利用網路上的模組,節省寫程式的時間。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News