代码之家  ›  专栏  ›  技术社区  ›  Kamil Kisiel

带有C扩展模块的Python项目的目录布局

  •  5
  • Kamil Kisiel  · 技术社区  · 14 年前

    我们的组织中有许多项目是Python/C混合的,目前我们正试图为我们的项目标准化一个目录布局,并试图想出一个方便的方案。争论的焦点之一是将C扩展模块放在树中的什么位置。

    ./src/package/subpackage/module.c
    

    或者在包树中的python模块旁边:

    ./package/subpackage/module.c
    

    或者在一个 src 子包中的目录:

    ./package/subpackage/src/module.c
    

    将它们排除在包目录之外的一个原因可能是,这会导致混乱,特别是当存在其他.c和.h文件本身不是模块但仍需要编译时。同样在“集成”方案中,您如何处理多个模块使用的头和文件?把它们放在一个通用的顶层目录中?

    我很想知道其他人在使用什么,或者是否有现成的最佳实践。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Alex Martelli    14 年前

    我认为Python标准库的布局是一个合理的例子:在 trunk ,它基本上是SVN repo(分支机构净值)的根 Modules 目录有很多 .c .h Lib 目录很多 .py 文件夹。