conda、pip同时安装包引起混乱问题剖析

一句话总结

安装版本不一致时会有两个.dist-info文件夹(举例:scapy-2.6.1.dist-info和scapy-2.4.3.dist-info),conda list和pip list依靠这两个文件夹进行包的识别(疑似pip list识别老版本,conda list识别新版本),而包实际代码会被新安装的覆盖掉,致使list中版本和实际使用版本可能会不一致。

下面进行实验:

先用pip安装,后用conda安装

pip install scapy -i https://pypi.tuna.tsinghua.edu.cn/simple

  • 可以看到出现两个文件夹,源码为2.6.1版本,.dist-info为2.6.1,同时conda list 和 pip list 都没有问题。

conda install scapy

再次用conda安装scapy后,源码版本被覆盖,conda list显示2.6.1,pip list 显示2.4.3,发生错误。

先用conda安装,后用pip安装

省流:conda安装后没问题,再用pip安装时由于pip检测到有.dist-info文件夹了,会提示这个包已安装。

最后,查看一下scapy包的位置

可以看到conda安装的包会在pkgs目录下保存一份,以便其他环境安装时使用。

2024.11.24

相关推荐
STDD3 分钟前
strace 和 perf:Linux 进程调试和性能分析深度指南
linux·运维·php
小江的记录本3 分钟前
【JVM虚拟机】垃圾回收GC:垃圾判定算法:引用计数法、可达性分析算法(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·spring·面试
Rain50910 分钟前
05. mini-cc 工具系统:让 AI 拥有动手能力
linux·前端·人工智能·ubuntu·typescript·ai编程
清水白石00811 分钟前
构建企业级 Python 服务:配置、日志、指标与追踪的稳健之道
开发语言·python·elasticsearch
都在酒里14 分钟前
Linux字符设备驱动开发(五):PWM调光——实现LED亮度控制与呼吸灯效果
linux·运维·驱动开发
Hani_9733 分钟前
Code Coverage系列(三)gcov 是什么?做什么?两个参数?检测原理?gcno文件内容?gcda文件内容?
linux·代码覆盖率
happymaker062633 分钟前
SpringBoot使用Thymeleaf模板引擎,前端的基本语法
开发语言·python
青梅橘子皮36 分钟前
Linux---进程状态与优先级
linux·运维·服务器
fengchengwu201241 分钟前
Conda 虚拟环境操作手册:从入门到精通
python·conda