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

使用Poetry添加包时为何会自动移除现有包?

问题原因

Poetry的核心设计是维护项目依赖环境与pyproject.toml的严格一致性。当你的环境中存在未被Poetry追踪的包(即通过conda、pip直接安装,未写入pyproject.toml的包),执行poetry add时,Poetry会判定这些包不属于项目声明的依赖集合,因此自动清理它们,以保证环境完全匹配配置文件中的依赖定义。

解决方案
  • 让Poetry完全接管依赖管理(推荐)

    1. 导出当前环境所有包到临时文件:
      pip freeze > requirements.txt
      
    2. 将所有包导入Poetry的pyproject.toml:
      poetry add $(cat requirements.txt)
      
    3. 后续所有包的安装、更新操作统一使用Poetry执行,避免混合conda/pip/Poetry的安装方式。
  • 临时保留非Poetry安装的包(不建议,易引发依赖冲突)
    使用--lock参数仅更新依赖锁文件,不修改实际环境的包:

    poetry add pandas --lock
    
  • 隔离conda与Poetry环境
    创建全新的conda虚拟环境,仅用Poetry管理依赖:

    conda create -n poetry_env python=3.11
    conda activate poetry_env
    poetry init
    poetry add pandas
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:23:13