Anaconda Python3.9环境下poetry install未生成项目内.venv文件夹如何解决
问题原因
Poetry 存在默认的环境优先级逻辑:当检测到当前 Shell 已经激活了任意虚拟环境时,会优先复用该已有环境,即便你已经配置了virtualenvs.in-project true,也不会主动创建项目内的 .venv 目录。
解决方案
方法1:单次临时生效
如果你只需要当前项目实现该效果,在激活 conda Python 3.9 虚拟环境的状态下,进入项目目录后先执行以下命令,强制 Poetry 创建并关联项目本地虚拟环境:
# 清除当前项目已绑定的其他虚拟环境(可选,如有历史绑定建议执行) poetry env remove --all # 强制创建/关联项目根目录下的.venv环境 poetry env use ./.venv --create # 正常执行安装,依赖会全部装到项目内的.venv目录 poetry install
方法2:全局永久生效
如果你希望所有项目都遵循「不管是否激活其他虚拟环境,只要开了in-project配置就用项目内.venv」的规则,执行以下配置命令即可:
poetry config virtualenvs.prefer-active-python false
配置完成后,只要你开启了poetry config virtualenvs.in-project true,Poetry 会始终优先在项目根目录创建/使用 .venv 环境,不受当前激活的其他虚拟环境影响。
验证
配置完成后执行poetry env info,返回的Virtualenv下的Path字段如果显示为当前项目下的 .venv 路径,即为配置生效。
内容的提问来源于stack exchange,提问作者pw_machine_vision
相关产品推荐
相关产品推荐

