Github python gitignore,为什么c扩展被忽略了?在 Python 中使用 C 有更好的方法吗?

Github python gitignore, why is c extension ignored? Is there a better way to use C in Python?

最近我将一个 Python 包推送到 github,我发现所有 .so 个文件都没有上传。

而在默认.gitignore中,我发现了

# C extensions
*.so

为什么?

我不熟悉 C++,有人告诉我 .so 文件是用 pybind 创建的。

这是否意味着在 python 中有更好的 C++ 代码使用方法?

克隆存储库后可以 re-generated 的任何文件都应忽略。
(而且它们确实被 python-based .gitignore 忽略了)

这不仅限于 *.so 文件,还适用于分布 文件夹 (dist/) 或缓存文件夹 (__pycache__/ 中的任何文件)

这会提升源依赖性(意味着您在存储库中包含 C 源,以及允许快速重建 C 工件的 Makefile)