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

为何docker run创建的pyATS容器通过exec进入后已安装包消失?

问题原因说明

这个现象的核心原因是你两次执行pip list时所处的Python环境不是同一个,包并没有真正消失:

  • 你通过docker run -it进入容器时,ciscotestautomation/pyats镜像自带的入口脚本(Entrypoint)会自动执行工作区初始化逻辑,激活pyats专属的Python虚拟环境,此时你执行pip list查询的是这个虚拟环境内的安装包,因此能看到所有预装的pyats相关依赖。
  • 你后续通过docker exec进入容器时,不会触发镜像的入口脚本逻辑,默认进入的是容器的系统全局Python环境,这个环境默认仅安装了pip、setuptools、wheel三个基础包,因此会出现「包全部消失」的错觉。

验证方法

你docker exec进入容器后,手动执行虚拟环境激活命令即可看到完整的安装包列表:

# 执行镜像入口脚本对应的虚拟环境激活命令
source /pyats/venv/bin/activate
# 再次查询包列表
pip list

如果上述路径不匹配,也可以参考你docker run时输出的[Entrypoint] Activating workspace日志对应的激活逻辑操作即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:54:03