【发布时间】:2013-05-29 01:57:32
【问题描述】:
我编写并维护了一个用于量子化学计算的 Python 库,名为 PyQuante。我有一个相当标准的 Python 发行版,主目录中有一个 setup.py 文件,一个名为“PyQuante”的子目录包含所有 Python 模块,一个名为“Src”的子目录包含 C 扩展模块的源代码。
我很幸运地让一些用户捐赠了使用 Cython 的代码,而我以前没有使用过 Cython,因为我在 PyQuante 或 Pyrex 出现之前就开始了它。根据我的建议,他们将代码放到 Src 子目录中,因为这是所有 C 代码所在的位置。
但是,查看生成扩展的代码,我想知道是否应该简单地将代码放在 Python 分支的子目录中。因此我的问题是:
包含 Python 和 Cython 源文件的 Python 发行版的目录结构的最佳做法是什么?
- 您是否将 .pyx 文件与 .py 文件放在同一目录中?
- 您是否将它们放在包含 .py 文件的目录的子目录中?
- 您是否将它们放在 .py 父目录的子目录中?
我什至问这个问题的事实是否暴露了我在分发 .pyx 文件方面的无知?我确信有很多方法可以让这项工作发挥作用,而且我最关心的是什么对人们最有效。
感谢您提供的任何帮助。
【问题讨论】:
-
This post(我在提交自己的文件后才发现)提供了一个答案。这是人们认为的“最佳实践”吗?
-
另外,请查看 section of the documentation 描述如何分发使用 Cython 的软件包。