【发布时间】:2022-07-09 08:07:43
【问题描述】:
诗歌有一些陈旧的依赖关系,因为使用了develop = true 包。诗歌无法自行判断依赖关系是否已更新。如何强制 Poetry 重新安装其 virtualenv 中的所有内容以解决此问题?
【问题讨论】:
标签: python-poetry
诗歌有一些陈旧的依赖关系,因为使用了develop = true 包。诗歌无法自行判断依赖关系是否已更新。如何强制 Poetry 重新安装其 virtualenv 中的所有内容以解决此问题?
【问题讨论】:
标签: python-poetry
这些说明仅适用于 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 版本,所以你可以告诉它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 -
【讨论】:
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 听起来是个坏建议。