easycython
可以将py编译成pyd文件,将编译好的pyd文件以原来的工程组织形式(module
)存放好,注意module下要有非编译的__init__.py
, 工程的main.py
也不要编译,如果遇到编译失败或者编译成功但调用不成功(需要测试出来)的py文件只能保留源码,不进行编译了。
pyinstaller的打包过程会从main.py
走一遍所有调用的module,并打包进去,但是编译好的pyd不会被识别import,这就是为什么要保留原来module的__init__.py
, 对于这些已经pyd的module,属于隐式import,需要在打包时加入–hidden-import。
通过写脚本完成以下流程
-
拷贝工程副本
-
在工程副本的每个文件夹下编译py文件,并重命名为原名
-
清理文件,保留
main.py
__init__.py
,
4. pyinstaller打包加入--hidden-import
参数