python3.X之py文件转为pyd文件(处理Unable to find vcvarsall.bat)

python3.X之py文件转为pyd文件

1.安装Cython

pip install cython

2.编写测试文件(需要转为pyd的文件)

注意:如果是python3.x,需要在开头加上 # cython: language_level=3,不然会有报错提示!

# cython: language_level=3


print("hello python")

3.编写setup文件(用于在终端执行将测试文件转为pyd文件)

# 脚本
from distutils.core import setup
from Cython.Build import cythonize
 

setup(
  name = 'N2_Hello',  # 包名,具体不知道有啥用处,好像注释掉也不影响
  ext_modules = cythonize("N2_.py")  # 这里的N2_.py就是需要转为pyd的py文件;自行修改.
)

4.在终端执行命令

python setup.py build_ext --inplace

python3.X之py文件转为pyd文件(处理Unable to find vcvarsall.bat)_第1张图片


5.查看生成的结果

会生成.c文件和.pyd文件以及build文件,这里的pyd文件就是我们需要的文件.

生成的N2_.cp38-win_amd64.pyd我们需要重名一下,因为python的命名不能含有横杠"-",例如改为N2_.pyd

python3.X之py文件转为pyd文件(处理Unable to find vcvarsall.bat)_第2张图片


6.使用

# 直接import即可调用,当N2_.py和N2_.pyd文件同时存在是,会优先调用N2_.pyd

import N2_
# import N2_.pyd  # 也可以这样调用

7.遇到的报错信息(坑)

在终端运行时,出现"Unable to find vcvarsall.bat".

这里是引用
处理方法:https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/#comments

点击上面链接,然后点击评论区第二条评论的链接https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170&viewFallbackFrom=vs-2017,找到文章该地方,下载"Build Tools for Visual Studio",安装时选择"Desktop development with C++ ",大概需要8个g存储空间.其实也可以单独选择需要的插件安装,但是为了方便,建议直接安装c++全家桶.

python3.X之py文件转为pyd文件(处理Unable to find vcvarsall.bat)_第3张图片


你可能感兴趣的:(python,开发语言)