【问题标题】:Running poetry fails with /usr/bin/env: ‘python’: No such file or directory运行诗歌失败,出现 /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,这是升级问题还是诗歌问题?

【问题讨论】:

    标签: python ubuntu-20.04 python-poetry


    【解决方案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 会更聪明。

    【讨论】:

    • 仍在使用这个,所以我猜它不像看起来那么临时。
    猜你喜欢
    • 2022-12-17
    • 2014-01-20
    • 2021-03-28
    • 2013-08-12
    • 2015-07-28
    • 2014-12-02
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多