运行诗歌失败,出现 /usr/bin/env: ‘python’: No such file or directory

Posted

技术标签:

【中文标题】运行诗歌失败,出现 /usr/bin/env: ‘python’: No such file or directory【英文标题】:Running poetry fails with /usr/bin/env: ‘python’: No such file or directory 【发布时间】:2020-09-07 08:11:42 【问题描述】:

我刚刚使用以下安装脚本安装了诗歌

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3

但是,当我执行诗歌时,它失败并出现以下错误

$ poetry
/usr/bin/env: ‘python’: No such file or directory

我最近升级到 ubuntu 20.04,这是升级问题还是诗歌问题?

【问题讨论】:

【参考方案1】:

诗歌依赖于任何python,除非另有说明,否则不会尝试使用特定版本的python。

由于不推荐使用 python2.7 并且python 命令未映射到 python3.x,因此上述问题将存在于 20.04 以后的 ubuntu 系统上

您会发现为 python3 指定别名是行不通的(除非,也许您在 bashrc 而不是任何其他 shell 运行命令文件中指定此别名),因为诗歌会旋转它自己的 shell 来执行命令。

改为安装以下软件包

sudo apt install python-is-python3

需要注意的是,如果你愿意,你可以安装python2.7,并且诗歌应该运行良好。

【讨论】:

在下一个版本中,诗歌安装程序会将可用的 python 解释器添加到 shebang。请参阅此merged PR。对我来说,没有python 可执行文件的系统已损坏。但遗憾的是PEP394 允许这样做,所以我们必须注意它。 我同意这种观点,并且惊讶地发现 20.04 发布时没有 python。回顾一下这个 pep,令人惊讶的是,即使支持 python 2 或 3,也缺少 python 允许【参考方案2】:

还有一些其他 Ubuntu 版本/变体的问题(此处为 Mint 19.3)。

来自arshbotpython-is-python3 答案是一个不错的选择,或者我发现只是调整调用诗歌的脚本为我修复了它:一种更微妙的方法,但在脚本更新的情况下也更脆弱(所以被覆盖) 在未来。所以无论如何,这是轻量级/脆弱的选项:

编辑脚本,

vi ~/.poetry/bin/poetry

(其他编辑器可用等)并更改顶行:

#!/usr/bin/env python

变成

#!/usr/bin/env python3

排序!

考虑到finswimmer 的评论,这可能只是作为一种临时解决方法需要,从评论看来,诗歌在这种情况下未来使用 python3 会更聪明。

【讨论】:

仍在使用这个,所以我猜它不像看起来那么临时。

以上是关于运行诗歌失败,出现 /usr/bin/env: ‘python’: No such file or directory的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS:/usr/bin/env:错误的解释器:不允许操作

出现错误 /usr/bin/env: node : Permission Denied

Linux下运行bash脚本显示“: /usr/bin/env: "bash ": 没有那个文件或目录

ubuntu 执行Python脚本出现: /usr/bin/env: ‘python ’: No such file or directory

gradlew 出错:/usr/bin/env: bash: 没有这样的文件或目录

windows系统下编写的sh拷贝到ubuntu后执行出错:/usr/bin/env: ‘bash ’: No such file or directory