You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过MANIFEST.in排除隐藏目录.idea的技术问题

解决pip打包时排除.idea隐藏目录的问题

你原来的prune */.idea只匹配一级子目录下的.idea文件夹,如果.idea在项目根目录或者更深层级的子目录里,这个规则就不生效。针对隐藏目录的递归排除,可通过以下方法解决:

方法1:修改MANIFEST.in使用递归匹配模式

把原来的prune */.idea替换成prune **/.idea,完整的MANIFEST.in内容如下:

prune **/.idea
prune */__pycache__
global-exclude *.py[co]

**/会递归匹配任意层级的父目录,不管.idea在根目录还是嵌套子目录里,都能被匹配并排除。

如果prune规则仍不生效,试试recursive-exclude的完整递归写法:

recursive-exclude **/.idea *
prune */__pycache__
global-exclude *.py[co]

这个规则会递归找到所有.idea目录,并排除里面的所有文件和子目录。

方法2:结合setup.py的exclude_package_data参数

如果MANIFEST.in的规则依然没起作用,可以在setup.py里显式添加排除规则,双重保障:

from setuptools import setup

setup(
    # 你的包名、版本等其他参数...
    exclude_package_data={
        '': ['**/.idea/*'],  # 排除所有目录下的.idea文件夹内容
    }
)

验证生效情况

执行打包命令前,可用python setup.py sdist --dry-run预览会被打包的文件,确认.idea目录已被排除后再正式打包。

内容的提问来源于stack exchange,提问作者trb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 06:30:53