編寫的話,拿什麼編輯器編寫都可以。
如果是編譯的話,python是不需要編譯的,直接運行即可。
運行的話,你需要安裝一個python的解釋器,可以是官方python,actiePython或者其他版本的python。
然後你可以選擇python自帶的IDLE編寫,也可以在命令行下輸入python進入交互shell進行編寫,當然也可以用支持python語言的IDE進行編寫。
Ⅱ 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需要哪些依賴
依賴庫:
//使用apt
安裝即可
1.gcc,
make,
zlib1g-dev(壓縮/解壓縮庫)
安裝過程需要的庫。
2.libbz2-dev
bz2支持庫,若在編譯安裝python前沒有安裝,將無法通過pip
install
安裝提供bz2格式的第三方庫,會出現unsupported
archive
format:
.tar.bz2的錯誤,例如爬蟲庫Scrapy依賴的Twisted。
3.libsqlite3-dev
sqlite3支持庫,若在編譯安裝python前沒有安裝,則python中會缺失sqlite3模塊,當引入sqlite3或使用依賴sqllite3的第三方庫(例如Scrapy)時,會出現ImportError:
No
mol
named
_sqllite3的錯誤。
//以上為編譯安裝前需要安裝的庫,可能不夠全面,會不斷補充。
4.其他:安裝第三方庫需要的庫
python3-dev,
libxml2-dev,
libxslt1,
libffi-dev,
libssl-dev等,在安裝第三方庫會有具體說明,不做過多解釋。
安裝:
//通過wget獲取壓縮包,這里選擇3.6.1版
wget
https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
//解壓
tar
xJf
Python-3.6.1.tar.xz
cd
Python-3.6.1
./configure
make
/*這步如果需要sudo,請使用sudo
-H命令,即sudo
-H
make
install,避免pip等模塊安裝失敗。
錯誤示例(pip安裝失敗):The
directory
'/home/ls/.cache/pip'
or
its
parent
directory
is
not
owned
by
the
current
user
and
caching
wheels
has
been
disabled.
check
the
permissions
and
owner
of
that
directory.
If
executing
pip
with
sudo,
you
may
want
sudo's
-H
flag.
*/
make
install
Ⅳ 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視頻教程,歡迎在線學習!