Pybuilder - 非python文件未打包

时间:2016-05-24 09:19:27

标签: python-3.x distutils pybuilder

我目前的项目是在python中。对于构建包生成+单元测试运行,我使用 Pybuilder 实用程序,它非常酷。我使用 wheel distribution 在其他系统中安装模块。

存在一个配置文件,应用程序从中读取某些设置。 settings.ini文件位于以下路径中,

PROJECT-ROOT
     |---- src
            |-main
                |-python
                     |- foo
                         |- conf
                         |   |- settings.ini
                         |
                         |-test.py
                         |-access.py

pybuilder会自动从build.py脚本创建setup.py。问题是二进制轮分布不包装非python文件(* .ini文件)。在搜索SO帖子时,获得像添加MANIFEST.mf这样的信息将解决此问题。但是在添加

的同时
 project._manifest_include_directory('foo/conf', ('*.ini',))

它只更新了sdist中的foo/conf/settings.ini而不更新了bdist(wheel)。我希望wheel文件在conf /目录中包含settings.ini 。在谷歌搜索,获得有关在setup.py中添加package_data字段将解决此问题的信息。但是使用Pybuilder的build.py,我无法成功完成此任务。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

我已经通过电子邮件发送了Max(https://github.com/mriehl),他是github中PyBuilder代码的贡献者之一。他建议我尝试project.install_file()选项。

我尝试了这个选项,它对我有用。感谢Max。我想在这个帖子中分享这些信息,以便将来对某人有用!

后台project.install_file()正在修改 distutils data_files的{​​{1}}部分。

我在setup.py中的配置如下,

build.py