首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pybuilder -非python文件没有打包。

Pybuilder -非python文件没有打包。
EN

Stack Overflow用户
提问于 2016-05-24 09:19:26
回答 1查看 912关注 0票数 1

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

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

代码语言:javascript
复制
PROJECT-ROOT
     |---- src
            |-main
                |-python
                     |- foo
                         |- conf
                         |   |- settings.ini
                         |
                         |-test.py
                         |-access.py

pybuilder会自动从setup.py脚本创建build.py。问题是二进制轮分发版没有打包非python文件(*.ini文件)。在搜索SO帖子时,获得类似于添加MANIFEST.mf之类的信息将解决这个问题。但当你加入

代码语言:javascript
复制
 project._manifest_include_directory('foo/conf', ('*.ini',))

它只更新sdist中的foo/conf/settings.ini,而不更新bdist(轮毂)。我希望轮转文件在conf/ 目录中包含settings.ini。在googling中,获得了在setup.py中添加setup.py字段将解决此问题的信息。但是使用Pybuilder的build.py,我无法成功地做到这一点。

有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-25 09:55:07

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

我试过这个选择,但它对我有效。多亏了麦克斯。我想在这个帖子中分享这个信息,这样它对将来的人是有用的!

在后台,project.install_file()正在修改setup.py of distutilsdata_files部分。

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

代码语言:javascript
复制
@init
def initialize (project):

    # File is installed relative to sys.prefix
    project.install_file("Lib/site-packages/foo/conf","foo/conf/settings.ini")
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37409282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档