诗:如何在更改项目根文件夹名称时继续使用旧的虚拟环境?

Poetry: How to keep using the old virtual environment when changing the name of the project root folder?

我在一些 python 项目中使用 Poetry。在某个阶段我想重命名项目的根文件夹并不罕见。当我这样做时,运行 poetry shell 诗歌创造了一个新的虚拟环境。但是我不想要一个新的虚拟环境,我只想继续使用现有的虚拟环境。我知道我可以通过 运行ning source {path to the old venv}/bin/activate 手动激活旧的,但是我必须单独跟踪旧的环境名称并避免使用 poetry shell.

我能做些什么吗?再次开始安装依赖项非常耗时,将 IDE 指向新环境并删除旧的虚拟环境,只是因为您更改了根文件夹名称 - 这可能会发生多次。 表明问题没有解决方案,但想确认这一点,因为对我来说这似乎很烦人。

相信你可以手动指定poetry使用的虚拟环境。在更改根文件夹名称之前获取环境路径:

poetry env info --path

然后更新文件夹名称并为项目手动设置虚拟环境:

poetry env use /full/path/to/python

有关详细信息,请参阅有关管理环境的文档:

https://python-poetry.org/docs/managing-environments

一个选项是启用 the virtualenvs.in-project option,例如通过 运行

poetry config virtualenvs.in-project true

If set to true, the virtualenv wil [sic] be created and expected in a folder named .venv within the root directory of the project.

这将导致 Poetry 在 $project_root/.venv/ 中创建新环境。如果重命名项目目录,环境应该会继续工作。