python桌面編譯
㈠ 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即可。
混淆的目的是最大程度保護源碼,在發布到客戶端後不被輕易破解。
㈡ Python可以做桌面應用程序嗎
Python可以做桌面應用程序嗎
Python可以做桌面應用程序!
目前比較主流的幾個GUI平台:
1、Tkinter:使用Tk平台,支持大多數的Unix系統,同時可以在Windows和Mac下運行,是Python的標准界面庫,但是由於界面醜陋,文檔極差而被開發者吐槽。
2、wxpython:擁有成熟和豐富的包,跨平台,可在Unix,Windows,Mac下運行,入門簡單,文檔寫的很詳細,再加上官方的Demo大全,確實給初學者降低難度,可以作為入門學習的首選庫。
3、PythonWin:只能在Windows上使用,調用windows的GUI,如果要做跨平台的應用程序,顯然不會選擇它。
4、PyGTK:使用GTK平台,Linux系統上使用較多,跨平台。
5、PyQt:優點界面美觀,多個平台,文檔和教程豐富。但是商業化使用有版權的問題,需要授權,體積相對較大。
更多技術請關注Python視頻教程。
㈢ python如何進行桌面開發有哪些資料可供參考
這里介紹3個python桌面開發的包,分別是tkinter,wxpython和pyqt,這3個包都可以快速的開發出桌面應用,下面我簡單介紹一下這3個包的安裝和使用,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
1.tkinter:這個是python自帶的開發桌面GUI的標准庫,不需要安裝,跨平台、可移植性高,支持主流的操作系統,像Windows,Linux,Mac等,python自帶的IDLE就是採用這個包開發,簡單易學,容易上手,適合小型項目的開發,入門GUI開發的話,可以試一下這個包,官網資料https://docs.python.org/2/library/tkinter.html:
程序運行如下:
2.wxpython:這是python一個優秀、成熟的跨平台GUI包,但不是自帶的標准庫,需要單獨安裝,支持的組件眾多,可以幫助程序員快速的創建功能齊全、界面友好的GUI界面,應用廣泛,非常適合中小型項目的開發,官網資料https://docs.wxpython.org/,可以參考學習一下,下面我簡單介紹一下安裝和使用:
安裝,這里直接在cmd窗口輸入命令「pip install wxpython」就行,如下:
安裝成功後,就可以進行簡單的測試了,代碼如下,一個簡單編輯器:
程序運行截圖如下:
3.pyqt:這個是Qt提供給python的一個介麵包,Qt功能強大,組件眾多,可以快速構建用戶GUI界面,所以pyqt的功能也十分強大,藉助於Qt,我們可以構建桌面應用,下面我簡單介紹一下pyqt的安裝和使用,官網資料http://pyqt.sourceforge.net/Docs/PyQt5/:
安裝pyqt5,這個直接在cmd窗口輸入「pip install pyqt5」就行,如下:
測試代碼如下,一個簡單的計算器:
程序運行截圖如下:
當然,你也可以藉助designer.exe直接拖拽控制項,完成GUI界面開發,如下,最後打包成py文件就行:
目前,就介紹這3個包吧,網上也有許多這方面的教程,感興趣的話,可以搜搜,希望以上分享的內容能對你有所幫助吧。
㈣ python 可以寫 桌面應用程序不需要依賴 python 么python 是不是 類似.net framework
Python可以寫桌面應用程序,大名鼎鼎的wxPython就是做這個的,可用的控制項非常多。用Python寫的程序,要裝了Python才能運行,除非你把它編譯成exe,不過目前這項技術還不成熟。