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

相关推荐
道路与代码之旅2 分钟前
Windows 10 中以 WSL 驱 Ubuntu 记
linux·windows·ubuntu
NullPointer83 分钟前
第21章:音频添加服务
python·aigc
梁正雄6 分钟前
9、Python面向对象编程-1
服务器·开发语言·python
DeeplyMind9 分钟前
第5章:并发与竞态条件-13:Fine- Versus Coarse-Grained Locking
linux·驱动开发·ldd
赖small强14 分钟前
【Linux C/C++开发】C++多态特性深度解析:从原理到实践
linux·c语言·c++·多态·虚函数表
郝学胜-神的一滴15 分钟前
Python的内置类型:深入理解与使用指南
开发语言·python·程序人生
huangyuchi.16 分钟前
【Linux 网络】基于TCP的Socket编程:通过协议定制,实现网络计算器
linux·网络·tcp/ip·linux网络·协议定制·josncpp库·序列与反序列化
刘家炫22 分钟前
Linux 基于 Epoll 的主从 Reactor 多线程模型
linux·服务器·reactor·项目·多路转接
徐_三岁30 分钟前
Python 入门学习
java·python·学习
郝学胜-神的一滴33 分钟前
Linux信号集操作函数详解
linux·服务器·开发语言·c++·程序人生