从 distutils 安装命令中排除某些文件



我想确保当用户键入以下内容时,不会安装Python包中的某些文件:

python setup.py install

具体来说,在某些情况下,可能会有__pycache__目录最终出现在build目录中,如果用户随后运行install__pycache__目录也会安装,这会导致问题。解决方案可能是使用以下命令创建自定义安装命令:

class CustomInstall(DistutilsInstall):
    # code here

但是在 distutils 代码中浏览后,我不知道如何编辑安装的文件列表。有人有什么建议吗?我可以CustomInstall删除所有我不想要的文件,但我想避免这种情况。

为此必须编写自定义命令听起来需要做很多工作。 替代想法:

  • 为 Python 3.2(创建 __pycache__)和 2.7(打包它们,除非我误读了您的帖子)使用不同的构建目录;

  • 使用 setup.py 干净构建从以前的构建中删除项目;

  • (野生尝试)使用 MANIFEST.in 排除模式。

如果这些不起作用,您能否详细说明导致创建然后安装__pycache__目录的命令序列?

最新更新