gpt4 book ai didi

python-poetry - Python工具Poetry如何知道项目虚拟环境的路径?

转载 作者:行者123 更新时间:2023-12-03 21:44:37 31 4
gpt4 key购买 nike

我的问题: Python工具Poetry如何知道一个项目的虚拟环境的路径?
说明: 当我在目录中运行 poetry init 时,会创建一个新项目。然后我运行 poetry install 并创建一个新的虚拟环境。但是,该虚拟环境的路径和哈希值都没有像我预期的那样存储在 pyproject.tomlpoetry.lock 中。当我运行 poetry env info -p 时,Poetry 如何知道虚拟环境的位置?
除了想知道发生了什么之外,我还需要知道这一点,原因有两个:

  • 如何在不中断与虚拟环境的链接的情况下移动包含 Poetry 项目的目录?
  • 如何知道 Poetry 的哪些虚拟环境未使用,因此可以删除?

  • 可能的解决方案: 查看 Poetry 的源代码,在我看来,文件 envs.toml 可能包含从文件系统目录到虚拟环境哈希的映射,但在我的 Mac OS 11.1 上我找不到这样的文件。

    最佳答案

    我深入研究了源代码,现在我可能已经理解了:

  • 相关代码在 poetry/utils/env.py 方法内的 EnvManager.generate_env_name(...)
  • 代码通过使用pyproject.toml中的项目名称并加上pyproject.toml
  • 的父目录的hash来推断环境的位置

    作为结果:
  • 没有简单的方法可以删除不再使用的环境
  • 另外,如果我想移动诗歌项目的目录,我需要重命名虚拟环境的文件夹并正确替换哈希。这应该可以工作,但最好再次运行 poetry install 并创建一个新的虚拟环境
  • 关于python-poetry - Python工具Poetry如何知道项目虚拟环境的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65376059/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com