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

pyproject.toml脚本导入失败问题求助

问题原因与解决方案

原因分析

你在hatchling的wheel打包配置里犯了一个关键错误:

[tool.hatch.build.targets.wheel]
packages = ["sphinxlint"]

这里的packages参数用于指定hatchling需要打包的Python包,但你填写的是第三方包sphinxlint,而非自己的awesome_package。这直接导致构建后的包(包括开发安装环境)完全不包含你的模块,所以执行some-script时自然找不到awesome_package。

换成setuptools后能正常运行,是因为setuptools默认会自动识别当前目录下带__init__.py的Python包,无需手动指定就能正确打包你的模块。

解决方案

修改hatchling的wheel配置,把packages改为你自己的包名:

[tool.hatch.build.targets.wheel]
packages = ["awesome_package"]

或者更简单的方式:直接删掉整个[tool.hatch.build.targets.wheel]小节,hatchling会自动发现符合结构的本地包,无需手动指定。

修改后重新执行开发安装:

pip install -e '.[dev]'

之后运行some-script就能正常调用foo()函数了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 07:53:13