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

Pyproject.toml配置的Python脚本在macOS无执行权限求助

问题解决:pyproject.toml构建的脚本在Mac OS无执行权限

原因分析

旧的setup.py配置中,setuptools会主动为安装后的脚本添加可执行权限,无论源码文件本身是否携带+x权限位。但切换到pyproject.toml的标准化配置后,setuptools会严格遵循源码文件的原始权限属性——如果你的脚本在仓库中没有设置可执行权限,安装到Mac OS后自然会是-rw-r--r--。你尝试的三种配置方式本质都依赖setuptools的同一权限处理逻辑,所以结果一致。

解决方案

方案1:给源码脚本添加可执行权限(推荐)

在本地仓库中给目标脚本添加可执行权限,提交到版本库后,后续所有安装都会自动继承该权限:

chmod +x path/to/your_script.py

只需在源码仓库中操作一次,所有工作站安装时都会得到带-rwxr-xr-x权限的脚本,无需逐个修改。

方案2:使用entry-points生成wrapper脚本

如果不想修改源码文件权限,可以用project.scripts的entry-points形式配置,setuptools会自动生成一个带可执行权限的wrapper脚本,指向你脚本的入口函数:

[project.scripts]
your_script_name = "your_package.module_name:main"

其中:

  • your_script_name是终端中要执行的命令名
  • your_package.module_name是脚本对应的Python模块路径(比如脚本放在your_package/script.py,就写your_package.script)
  • main是脚本的入口函数(需要你在脚本中把执行逻辑封装到main()函数,然后添加if __name__ == "__main__": main())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:14:59