當前位置:首頁 » 編程軟體 » 如何編譯python程序

如何編譯python程序

發布時間: 2024-06-16 16:43:48

python程序代碼混淆、編譯、打包、運行(桌面程序防破解向)

像Python這種解釋性的語言,要想私有化部署的同時又保護好源碼,就像是對於魚和熊掌的追求。

雖然做不到盡善盡美,但是對代碼進行混淆,增加一點破解的難度,或許能規避一些泄露的風險。

本次演示環境:linux

確保要發布的包根目錄("demo")中有__main__.py文件,這個是程序執行入口。

編譯

批量改名.pyc文件

移動.pyc文件

清理.py文件

清理__pycache__文件夾

打包成zip

運行時只要將zip文件作為參數即可

最終整合腳本

調用方式

對於在變數和函數名上的混淆有點小兒科,而對於跨文件的類名的混淆又太容易實現。

所以對於混淆程度的取捨,要視工程的規模而定。

2.1 混淆工具pyminifier

在原來的工具 pyminifier上修復了幾個bug。

安裝:

python3 安裝

或者clone下來,自行安裝

使用例子

2.2 源碼變更

不同的配置對於源碼的要求不同,以下是筆者踩過的坑。

其他混淆想法

結合混淆、編譯和打包,嘗試出以下發布腳本。

主要的思路 :創建一個工作目錄tmp,然後在此目錄下混淆、編譯python代碼,完成後把內容打包成pyc文件,再將pyc文件和其他配置文件移動到dist,發布dist即可。

混淆的目的是最大程度保護源碼,在發布到客戶端後不被輕易破解。

㈡ ubuntu鍙浠buildpython紼嬪簭鍚

鎮ㄦ兂闂鐨勬槸ubuntu鍙浠ュ壋寤簆ython紼嬪簭鍚楋紵鍙浠ワ紝鏍規嵁鏌ヨ㈠崥瀹㈠洯鏄劇ず銆
1銆佸噯澶囧ソpython婧愮爜鍖呫
2銆佸惎鍔ㄩ暅鍍忓苟鎸傝澆python婧愮爜鍖呮墍鍦ㄧ殑鐩褰曘
3銆佸畨瑁呯紪璇戝拰姝e父榪愯宲ython鎵闇鐨勭浉鍏沖簱銆
4銆佺紪璇戝畨瑁卲ython銆
5銆乴ink鍙鎵ц屾枃浠跺埌緋葷粺鐨勭幆澧冨彉閲忚礬寰勩

㈢ 怎麼用codeblocks打開python代碼並編譯運行

環境配置:

使用IDE: Code::Blocks,在編譯時需要連接python的庫,setting->complier and debugger setting->Linker setting->Link Libraries, 增加兩個庫python25.lib, libpython25.lib。 或者在Build option裡面設置linker setting也可。

㈣ python如何編譯

1、說明

編譯python程序就是把python腳本轉換成操作系統中的可執行文件,一般使用pyinstaller來完成。

2、步驟

(1)安裝pyinstaller

使用pip install pyinstaller命令來安裝

(2)編譯腳本

python安裝目錄scriptpyinstaller 腳本文件名

(3)完成

執行腳本後就可以在腳本目錄生成dist目錄,目錄就有打包好的可執行文件

3、備注

pyinstaller參數

-w指令

直接發布的exe應用帶命令行調試窗口,在指令內加入-w命令可以屏蔽。

-F指令

注意指令區分大小寫。這里是大寫。使用-F指令可以把應用打包成一個獨立的exe文件,否則是一個帶各種dll和依賴文件的文件夾。

-p指令

這個指令後面可以增加pyinstaller搜索模塊的路徑。因為應用打包涉及的模塊很多。這里可以自己添加路徑。不過經過筆者測試,site-packages目錄下都是可以被識別的,不需要再手動添加。

python學習網,大量的免費python視頻教程,歡迎在線學習!

㈤ 如何編譯Python使之成為可執行程序

Python是一個強大的工具,可惜不是每個人的計算機裡面都有安裝。當您寫了一個好用的工具。要如何讓那些沒有安裝Python的人使用你的工具呢?
對於這樣一個需要standalone exectuable環境的需求,直到撰寫經驗為止,只看到兩個比較好用且有持續維護的套件。一個是py2exe。另外一個就是本經驗要介紹的PyInstaller。
1
PyInstaller安裝

2

最新版本:PyInstaller 2.0
3

直接「解壓縮」之後即可使用,解壓到您想讓他在的路徑即可
END

PyInstaller配置

1
事先寫好py程序
2

在命令行執行:python Makespec.py --console --onefile NotePad\notepad.py
報錯:Configfile is missing or unreadable. Please run Configure.py before building
3

在命令行執行:Configure.py
報錯:Python 2.6+ on Windows support needs pywin32,Please install http://sourceforge.net/projects/pywin32/
4

安裝最新版本的 pywin32-217.win32-py2.7.exe
END

PyInstaller使用

命令行中運行
目錄切換到PyInstaller的安裝目錄「E:\pyinstaller-1.5\pyinstaller-1.

在PyInstaller的安裝目錄下新建一個文件夾(比如NotePad), 然後將要轉換的py腳本放到文件夾里(notepad.py)
E:\pyinstaller-1.5\pyinstaller-1.5>python Makespec.py --console --onefile NotePad\notepad.py

E:\pyinstaller-1.5\pyinstaller-1.5>python Build.py NotePad\notepad.spec

驗證exeE:\pyinstaller-1.5\pyinstaller-1.5>

E:\pyinstaller-1.5\pyinstaller-1.5\NotePad\dist\notepad.exe 0 0 100(成功)

查看生成的文件,生成的中間文件spec
查看生成的文件,生成的最終文件exe

END

注意事項

在轉換之前要確保py程序可以正常通過
如果轉換過程中出現什麼錯誤,用搜索引擎搜索解決一下

熱點內容
游戲平板安卓2000以下哪個好 發布:2024-11-26 19:21:12 瀏覽:546
php重命名文件夾 發布:2024-11-26 19:06:01 瀏覽:18
阿里雲ecs伺服器無法連接公網ip 發布:2024-11-26 19:01:32 瀏覽:42
java寫helloworld 發布:2024-11-26 19:00:56 瀏覽:89
c語言遞歸排列 發布:2024-11-26 18:50:55 瀏覽:448
密碼鎖為什麼不建議用南孚 發布:2024-11-26 18:45:00 瀏覽:153
榮耀20s安卓版本在哪裡看 發布:2024-11-26 18:26:03 瀏覽:685
安卓手機前攝像頭進灰怎麼清理 發布:2024-11-26 18:23:08 瀏覽:173
kettlejava腳本 發布:2024-11-26 18:05:07 瀏覽:455
c語言關機命令 發布:2024-11-26 17:59:56 瀏覽:901