问题描述
最近我将一个Python包推到了github,我注意到所有.so
文件都没有上传。
在默认的.gitignore
中,我发现了
# C extensions
*.so
为什么?
我不熟悉C ++,有人告诉我.so
文件是用pybind
创建的。
这是否意味着有更好的方法在python中使用C ++代码?
解决方法
克隆存储库后可以重新生成的任何文件都应忽略。
(它们的确被python-based .gitignore
忽略了)
这不仅限于* .so文件,还适用于分发文件夹(dist/
)或缓存文件夹(__pycache__/
)中的任何文件
这会促进对源代码的依赖(这意味着您将C源代码包含在存储库中,以及一个Makefile允许快速重建C工件)