uv run 执行自定义脚本sacrypt时出现「Failed to spawn」及后续ModuleNotFoundError问题求助
uv run 执行自定义脚本sacrypt时出现「Failed to spawn」及后续ModuleNotFoundError问题求助
我最近折腾Python模块时遇到了uv运行自定义脚本的问题,试了好几种办法都没搞定,来求助大家!
我的项目布局挺常规的:main 函数放在 sacrypt 目录下的 __init__.py 文件里。初始的 pyproject.toml 配置是这样的:
[project] name = "sacrypt" version = "0.1.0" description = "Cryptanalysis examples for SAC" readme = "README.md" requires-python = ">=3.13" [project.scripts] sacrypt = "sacrypt:main"
但当我执行 uv run sacrypt 时,直接报错:
error: Failed to spawn: `sacrypt` Caused by: No such file or directory (os error 2)
我已经尝试过这些操作,但都没解决问题:
- 给脚本改了其他名字
- 把
sacrypt目录移到src/sacrypt路径下 - 加了各种
-v参数运行uv,也没得到更多错误细节
我的uv版本是0.6.9,而且完全是照着教程和官方文档配置的,实在搞不懂哪里出问题了。
更新:后来按照评论提示,我给 pyproject.toml 添加了构建系统配置:
[build-system] requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta"
接着执行了 uv build,这次报错变了,但还是有问题:
Traceback (most recent call last): File "/home/jmerelo/Tutoriales/cemed-green-software/code/Python/.venv/bin/sacrypt", line 4, in <module> from sacrypt import main ModuleNotFoundError: No module named 'sacrypt'
奇怪的是,直接在命令行运行模块或者执行测试都是正常的,只有通过uv运行脚本时会出问题。有没有大佬能指点下我该从哪里排查?
备注:内容来源于stack exchange,提问作者jjmerelo
相关产品推荐
相关产品推荐

