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

构建Debian包时如何排除Python包中的scripts脚本?

解决setuptools构建Debian包时排除指定脚本的问题

以下几种方法可以帮你跳过原Python包中scripts配置指定的文件,无需修改setup.py(或仅作为备选方案):

方法1:指定临时安装目录并避免打包

Debian构建系统只会打包debian/<package-name>下的内容,你可以将脚本安装到一个不在打包范围内的临时目录,比如/tmp:

python3 setup.py install --root=$(CURDIR)/debian/<你的包名> --install-scripts=/tmp

因为/tmp不在Debian包的默认安装路径集合里,这些脚本不会被打包进最终的.deb文件,也不会出现在包的文件列表中。

方法2:使用setuptools的--no-scripts参数(要求setuptools≥61.0.0)

如果你的构建环境中setuptools版本足够新(61.0.0及以上),可以直接用--no-scripts参数跳过所有scripts的安装:

python3 setup.py install --root=$(CURDIR)/debian/<你的包名> --no-scripts

这个参数会直接忽略setup.py中scripts配置的所有文件,完全不执行它们的安装步骤。

方法3:修改setup.py(备选方案)

如果上述方法都无法生效,再考虑用sed直接修改setup.py中的scripts配置,比如删除整个scripts行:

sed -i '/scripts=/d' setup.py

或者更精准地将scripts列表置空:

sed -i 's/scripts=\[.*\]/scripts=\[\]/' setup.py

修改后再执行常规的Debian构建流程即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:47:21