我正在使用.pxd
文件扩充Python模块,以便我可以使用它pure Python mode进行调试(使用pudb)。所以我有两个文件:
mymodule.py
mymodule.pxd
我正在以标准方式使用pyximport:
import pyximport; pyximport.install()
但pyximport
似乎没有尝试编译它。如果我删除了.pxd
文件并将我的.py
文件重命名为.pyx
,那么它就可以了。那么,我如何使用pyximport
但仍然能够在纯Python模式下运行?理想情况下,我希望能够简单地注释掉pyximport
,以便切换到纯python模式。
答案 0 :(得分:0)
尝试pyximport.install(pyimport=True)
,如果已安装,您可以在ipython中按类型pyximport.install?
查看此功能的完整文档。或者查看来源:https://github.com/cython/cython/blob/master/pyximport/pyximport.py
警告:编译pyximport.install(pyimport=True)
后导入的任何.py文件,这可能会导致一些错误,例如:__ init__.py被编译为空pyd,然后导入将失败
pyximport
对于一些简单的测试很有用,对于复杂的构建来说非常棘手,在实际项目中应该避免使用它。