windows下用pyinstaller 打包pyd编译文件



以下内容主要讲述普通py编译pyd后再打包exe文件的步骤和常见问题:

1 安装库 pip install Cython

2 假设需要打包的文件为example.py ,新建test.py文件 即可编译pyd

# -*- coding: utf-8 -*-

from distutils.core import setup
from Cython.Build import cythonize

setup(
name = ‘any words…..’,
ext_modules = cythonize([“example.py”,

]
),
)

编译命令为 python test.py build_ext –inplace

3 如果是python3.5 以上版本可能会遇到 Unable to find vcvarsall.bat 错误 ,说明需要安装vc环境 链接:https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/ 按照需要安装 VS2015即可 。SDK按需选择

4 编译pyd完成后 重命名新文件为 example.pyd (需要删掉版本和电脑位数系统字样,可能是py57_win32之类)

5 此时利用 pyinstaller 命令打包 example.py 文件 可能会报错 Module file example.py is missing 解决办法 :删掉example.py 的main入口并 Shift+tab恢复缩进 重复步骤2来编译pyd。

6 同目录下新建 newmain.py 并导入example.py中的所有导入包和 importa example 新建main 入口 调用 example() ,最后 用pyinstaller打包 newmain.py 即可