以pyd作为扩展名的文件是通过Cython解释器将C代码转成了python的动态扩展库,在Windows底下和dll的性质是相同的,只不过可以通过python import来使用,比如在Houdini中常用的hou模块其实全部是在调用_hou.pyd的内容,演示
可以通过Python Shell导入_hou模块
本篇文章来实现将py代码转成一个pyd文件来使用(生成pyd文件的其中一种姿势)
比如创建一个文件夹,文件夹中创建两个文件fib.pyx和setup.py,内容分别如下
fib.pyx
setup.py
之后在此文件夹中Shift+右键打开命令行窗口,输入编译指令
如果一切顺利,可以看到生成了fib.cp36-win32.pyd和fib.c文件,其中fib.cp36-win32.pyd文件就是我们需要的(此处需要配置相应的编译环境,等会再说),先看看pyd文件能否正确执行?
可以看到它是没有问题的,算是成功将py代码转成了pyd文件来使用。
下面来看看编译环境,笔者的环境是安装了Python36、VS 2015以及Cython对应版本,Cython可以去官网http://cython.org/下载。
这里说几个知识点(实际是无限折腾的坑)
一、如果电脑上即装了Python2又装了Python3可以在命令行通过下面指令来切换使用,如果后面跟py文件则以相应的版本环境来执行操作
二、pip的安装根据不同的Python版本来安装的,比如在https://pypi.python.org/pypi/pip下载pip的tar.gz安装包
对于不同的Python版本的扩展包需要使用不同的pip来安装,比如给不同的Python版本安装对应的Cython就要使用
领取专属 10元无门槛券
私享最新 技术干货