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

问题描述

最近我将一个Python包推到了github,我注意到所有.so文件都没有上传

认的.gitignore中,我发现了

# C extensions
*.so

为什么?

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

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

解决方法

克隆存储库后可以重新生成的任何文件都应忽略。
(它们的确被python-based .gitignore忽略了)

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

这会促进对源代码的依赖(这意味着您将C源代码包含在存储库中,以及一个Makefile允许快速重建C工件)