我在哪里将我的cython文件放在python发行版中?

我编写并维护了一个名为
PyQuante的量子化学计算Python库.我有一个相当标准的Python发行版,在主目录中有一个setup.py文件,一个名为“PyQuante”的子目录,它包含所有的Python模块,还有一个名为“ Src“包含C扩展模块的源代码.

我很幸运能够让一些用户捐赠使用Cython的代码,我以前没有使用过,因为我在PyQuante或者Pyrex存在之前就开始了.根据我的建议,他们将代码放入Src子目录,因为那是所有C代码的所在.

但是,看看生成扩展的代码,我想知道我是否应该简单地将代码放在Python分支的子目录中.因此我的问题是:

Python和Cython源文件的python发行版目录结构的最佳实践是什么?

>您是否将.pyx文件放在.py文件所在的目录中?
>你把它们放在保存.py文件的子目录中吗?
>你把它们放在.py目录的父级的孩子身上吗?

我甚至问这个问题的事实是否背叛了我对分发.pyx文件的无知?我确信有很多方法可以完成这项工作,而且我最关心的是最适合人们的方法.

谢谢你尽你所能的帮助.

最佳答案 将.pyx文件放在与.py文件相同的目录中对我来说是最有意义的.这就是
scikit-learn的作者所做的以及我在
py-earth模块中所做的工作.我想我认为Cython模块是Python模块的优化替代品.我经常会先用纯Python编写一个包,然后用Cython替换一些模块,如果我需要更好的性能.由于我将Cython模块视为Python模块的替代品,因此将它们保存在同一位置对我来说是有意义的.它也适用于使用–inplace参数的测试构建.

点赞