You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Poetry成功切换到项目专属的虚拟环境(venv)

问题根因

你使用的Poetry 1.1.11版本默认开启了virtualenvs.prefer-active-python逻辑,优先级规则为:当前shell已激活的虚拟环境 > 手动通过poetry env use指定的虚拟环境。你在zshrc中设置了全局venv自动激活,所以Poetry始终优先识别这个全局环境,忽略你指定的项目级venv。
你看到的Skipping virtualenv creation, as specified in config file.提示是因为你全局配置里设置了virtualenvs.create=false,和本次虚拟环境不切换的问题无关。

解决方案

方案1:仅修改当前项目的Poetry配置(推荐)

不会影响其他项目的Poetry行为,执行以下命令即可:

  1. 进入项目目录后,先关闭当前项目的「优先使用已激活虚拟环境」逻辑:
poetry config --local virtualenvs.prefer-active-python false
  1. 清除Poetry已缓存的虚拟环境记录:
poetry env remove --all
  1. 重新指定项目级venv:
poetry env use venv/bin/python3.9

执行完成后运行poetry env info即可验证当前使用的虚拟环境路径是否为项目内的venv。

方案2:临时绕过全局venv配置

如果不想修改Poetry配置,可在每次执行Poetry命令前临时添加环境变量覆盖默认逻辑,示例:

POETRY_VIRTUALENVS_PREFER_ACTIVE_PYTHON=false poetry install

内容的提问来源于stack exchange,提问作者Haterind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:54:04