python setup.py构建忽略一些文件

前端之家收集整理的这篇文章主要介绍了python setup.py构建忽略一些文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的Python包有以下结构:

  1. $tree -d | grep -v "__pycache__"
  2. .
  3. ├── src
  4.    ├── poliastro
  5.       ├── iod
  6.       ├── tests
  7.       └── twobody
  8.       └── tests
  9. ├── setup.py
  10. └── MANIFEST.in
  11. 47 directories

在执行python setup.py构建之后,不会复制最里面的测试目录:

  1. $tree -d | grep -v "__pycache__"
  2. .
  3. ├── build
  4. ├── lib
  5. └── poliastro
  6. ├── iod
  7. ├── tests
  8. └── twobody

相反,python setup.py sdist正常工作.

到目前为止,我已经使用MANIFEST.in规则来包含或排除sdist中的某些文件,模式和目录.有没有办法控制构建目录的内容?为什么有些测试会到达而有些测试却没有?

参考原始问题和源代码https://github.com/poliastro/poliastro/issues/129

最佳答案
您的setup()缺失include_package_data = True.看到这个PR我做了https://github.com/poliastro/poliastro/pull/139

讨论:如果没有这个,默认情况下不包含非python包文件(例如您列出的不在“包中”的测试py文件),即使它们在技术上是其他包含的Python包目录树的一部分.
/ HTH

猜你在找的Python相关文章