参考Github上的例程介绍引入Cython的目的是:将部分python源码翻译成c,然后编译成.pyd格式的动态链接库来避免软件核心逻辑被轻易反编译引入PyInstaller的目的是打包成exe,可以选择单个文件或目录。Python2.7安装依赖本地环境。Python2.7和Python3.8并存。下面使用python2和pip2指的是全局python2.7安装VCPython2.7全局安装Cython,我这里可以直接使用清华的镜像安装:pip2installcython全局安装PyInstaller。这有点麻烦。最后适合python2.7的版本是3.6。直接使用pip2installPyInstaller==3.6失败,只能手动安装。方法一:从PyPi下载3.6版本的tar.gz包,将这里的链接解压到本地目录,在该目录下打开命令行窗口执行python2setup.pyinstall方法二:下载非官方的Windows预编译轮,这里找到并下载PyInstaller3.6的whl文件。直接在本地执行pip2installPath\to\PyInstaller-3.6-py2.py3-none-any.whl。成功后,直接在命令行执行PyInstaller即可。如果系统中也安装了Python3的PyInstaller,那么可以使用python2-mPyInstaller调用到此,依赖环境准备好构建并克隆参考例程到本地gitclonehttps://github.com/prologicpyinstaller-cython-bundling项目build.sh中/pyinstaller-cython-bundling.gitcd不适用于Windows,需要在命令行执行如下命令:原脚本中的pipinstall步骤已经完成依赖部分,跳过pythonsetup.pydevelop的执行,执行python2-mPyInstaller-rfile_a.so,dll,file_a.so-rfile_b.so,dll,file_b.so-D./bin/hello使用-上面的r参数指定输入文件,类型,名称,多个文件依次导入;-D表示建立目录,指定-F建立单个EXE;最后,入口文件建好后,在dist目录下可以找到生成的hello.exe按照py2的步骤,会卡在setup.py这一步,报错说io.h不能成立。我找遍了,确实没有适用的io.h。按照本文的计划,在VS2017中安装:VisualC++Build工具的核心功能。VC++2017v141toolset(x86,x64)VisualC++2017redistributablecomponentupdateWindows10SDKforDesktopC++(10.0.16299.0)这一项很重要,io.h只需要这个版本号的SDK在VS2017的子菜单里开始菜单,在打开的命令窗口中点击“xxxcommandlineforVS2017”项进行构建,主要是调用vcvarxxx.bat来设置构建环境。
