【问题标题】:How to rebuild Poetry environment from scratch and force reinstall everything?如何从头开始重建诗歌环境并强制重新安装所有内容?
【发布时间】:2022-07-09 08:07:43
【问题描述】:

诗歌有一些陈旧的依赖关系,因为使用了develop = true 包。诗歌无法自行判断依赖关系是否已更新。如何强制 Poetry 重新安装其 virtualenv 中的所有内容以解决此问题?

【问题讨论】:

    标签: python-poetry


    【解决方案1】:

    这些说明仅适用于 Linux/macOS for Windows Subsystem for Linux。对于 Microsoft Windows shell,请使用您自己的命令行知识来应用这些说明。

    重建诗歌环境

    在带有pyproject.toml的文件夹中执行以下操作:

    # Stop the current virtualenv if active or alternative use
    # `exit` to exit from a Poetry shell session
    deactivate
    
    # Remove all the files of the current environment of the folder we are in
    POETRY_LOCATION=`poetry env info -p` 
    echo "Poetry is $POETRY_LOCATION"
    rm -rf "$POETRY_LOCATION"
    
    # Reactivate Poetry shell
    poetry shell
    
    # Install everything
    poetry install
    
    

    用不同的 Python 版本重建 Poetry 环境

    诗歌可能是指你安装的 Python 版本,所以你可以告诉它to change its link to your python interpreter as well

    # Make Poetry to use python 3.9 from Homebrew, installed earlier
    poetry env use `which python3.9`
    poetry shell
    python -V
    
    Python 3.9.9
    

    Kudos to this tip about removing the virtualenv.

    修复损坏的诗歌命令

    如果poetry 命令本身已损坏且不再运行,您可以通过以下方式重新安装 Poetry:

    which poetry
    
    /Users/mikkoohtamaa/.poetry/bin/poetry
    

    然后删除这个和install:

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

    【讨论】:

    • “rm -rf poetry env info -p”命令会破坏诗歌。一旦执行,所有诗歌命令都会失败,并显示“没有 pyvenv.cfg 文件”。
    • 您可能误装了诗歌。您可以使用which poetry 命令检查它尝试使用的诗歌二进制文件。
    • poetry env info -p 对我没有任何帮助(它在激活的环境之外不起作用),所以我使用了poetry env list --full-path 并手动复制了路径。因此,我建议将rm -rf `<something>` 分成两个步骤,或者解决方法可能是rm -rf `poetry run poetry env info -p`
    • 确实,将命令的输出传递给rm -rf 听起来是个坏建议。
    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多