加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:47:41 所属栏目:Python 来源:网络整理
导读:我的Python包有以下结构: $tree -d | grep -v "__pycache__".├── src│?? ├── poliastro│?? │?? ├── iod│?? │?? ├── tests│?? │?? └── twobody│?? │?? └── tests├── setup.py└── MANIFEST.in47 directories 在执行python s

我的Python包有以下结构:

$tree -d | grep -v "__pycache__"
.
├── src
│?? ├── poliastro
│?? │?? ├── iod
│?? │?? ├── tests
│?? │?? └── twobody
│?? │??     └── tests
├── setup.py
└── MANIFEST.in

47 directories

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

$tree -d | grep -v "__pycache__"
.
├── build
│   ├── lib
│   │   └── poliastro
│   │       ├── iod
│   │       ├── tests
│   │       └── 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读