專案發布時可將 .py 原始碼編譯為 .pyc 位元碼檔,僅發布 .pyc 可達到基本原始碼保護(仍可反編譯但增加難度)。compileall 模組支援遞迴編譯整個目錄。
python -c "import compileall, re; compileall.compile_dir('test', rx=re.compile(r'[/][.]svn'), force=True)"
compile_dir('test'):遞迴編譯 test 目錄。rx=re.compile(...):排除 .svn 版控目錄。force=True:強制重新編譯(忽略時間戳)。find test -name "*.py" -deletedel /s test\*.pycompileall 適合自動化建置流程整合,配合 CI/CD 管線可在打包階段自動編譯並清理原始碼,提升部署安全性。