【问题标题】:Difference between prune and recursive-exclude in setuptools?setuptools中修剪和递归排除之间的区别?
【发布时间】:2017-08-15 22:48:10
【问题描述】:

我正在使用setuptools 打包一个自定义模块以进行部署,该模块不应包含data/ 目录中用于开发的某些文件。我已经成功地在我的MANIFEST.in 文件中使用recursive-exclude data/ * 排除了必要的文件,但我也看到我可以通过prune data/ 做到这一点

在通过python setup.py egg_info 打包后,这两种方法都会从package.egg-info/SOURCES.txt 中删除预期文件

这两者有区别吗?

【问题讨论】:

    标签: python-2.7 manifest setuptools setup.py egg


    【解决方案1】:

    基于documentation的行为是:

    • recursive-exclude dir pat1 pat2 获取目录dir 并忽略所有匹配模式pat1pat2 的文件

    • prune dir 将排除目录dir中的所有文件

    因此,在您的情况下,recursive-exclude dir *prune dir 应该具有相同的行为,除了 prune 将删除整个目录,而 recursive-exclude 将保留一个空文件夹。

    【讨论】:

    • 啊!我正在查看 setuptools 文档而不是 distutils ...无论如何,recursive-exclude 似乎也摆脱了空文件夹。查看文档,我认为唯一的区别是 recursive-exclude 允许您指定文件类型,而 prune 删除整个目录。
    猜你喜欢
    • 2011-02-04
    • 2011-09-14
    • 2012-04-15
    • 1970-01-01
    • 2017-06-30
    • 2011-03-06
    • 1970-01-01
    相关资源
    最近更新 更多