poetry执行poetry install报错找不到指定虚拟环境路径如何解决
错误原因
- 旧版Poetry在Windows环境下对含特殊字符(如你的用户名里的
.)的用户路径解析存在已知bug,会拼接出不存在的缓存路径,导致虚拟环境寻址失败。 - 之前运行Poetry命令时生成了无效的虚拟环境缓存记录,Poetry会优先读取缓存中的失效路径,不会自动触发新虚拟环境的创建流程。
- 系统权限或杀毒软件拦截了Poetry对默认全局缓存目录的写入操作,虚拟环境实际创建失败,但Poetry未抛出创建失败的报错,直接返回了预设的虚拟环境路径导致寻址错误。
修复步骤
- 首先清理无效缓存:在项目根目录执行
poetry env remove --all,如果命令执行失败,手动删除项目根目录下的.venv文件夹(如有),再尝试删除C:\Users\jon.doe\AppData\Local\pypoetry\Cache下的全部内容,找不到对应目录可直接跳过该步骤。 - 升级Poetry到最新稳定版本修复路径解析bug,执行
poetry self update。 - 建议将当前项目的虚拟环境配置为存放在项目根目录下,避免全局路径的解析问题,执行
poetry config virtualenvs.in-project true --local,该配置仅对当前项目生效,不会修改全局设置。 - 重新执行依赖安装:执行
poetry install,此时Poetry会自动在项目根目录生成.venv文件夹作为虚拟环境,不会再寻址全局缓存路径。 - 验证配置有效性:执行
poetry run pytest即可运行项目的单元测试,若要手动进入虚拟环境执行命令,执行poetry shell即可。
内容的提问来源于stack exchange,提问作者newprogrammer
相关产品推荐
相关产品推荐

