环境:windows 11, Linux Debian11, pycharm, python3.10,microsoft visual c++ 14生成工具(下载)及以上
一、生成Windows pyd文件
1. 新建setup.py文件
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize(["Demo.py"]),
)
需要安装Cython package。
2. 在Pycharm terminal执行命令:
python setup.py build_ext
如果执行后报错:ModuleNotFoundError: No module named 'Cython'
请通过命令重新安装:pip install Cython,然后再执行上面生成命令
执行完成后,在工程下面会有一个build文件夹,打开如下图即可找到pyd文件
二、Linux so文件
假设我们的Linux已经安装了python环境(python3)。
Linux同样需要安装Cython,但是setup.py文件内容和windows一样(参考上面windows的代码),连编译的命令都一样,没有什么区别。
他们的区别就是想要.so就在Linux上执行,想要.pyd就在Windows上执行。
我也曾尝试在windows下生成.so,以失败告终,除非用虚拟机,就是终归要在linux上执行才可以。头铁的可以再去尝试一下,成功了可以告诉我。
1. 将要编译成.so的.py文件和setup.py放到同一个目录下
2. 执行
python setup.py build_ext
在当前目录会有一个build目录,去里面找.so文件就可以。