conda和pip

1.众所周知,pip的确是python官方(PyPA)推荐的Python软件包安装管理工具,在安装Python软件包时,第一反应应该是pip。正是由于pip是Python官方推荐的"正统"工具,所以pip只专注于Python软件包之间的依赖,不考虑Python软件包与非Python软件包之间的依赖关系。

而Tensorflow不仅依赖于Python软件包,还依赖于非Python软件包,如cudatoolkit、cudnn、interl-openmp、intel-MKL及protoc等。

conda在安装Tensorflow时,会同时解决TensorFlow所依赖的Python软件包和非Python软件包的问题,让安装变得简单。

此处需要留意conda对于多个环境的包是统一进行管理的,不管在什么环境下载的包,都会额外在一个目录(Anaconda3\pkgs\fasttext)里面备份一份,因此如果使用conda install安装一个别的环境已经装过的包时,不用重新下载,直接copy一份到该环境即可。

但是如果使用pip因为每个环境安装使用的pip在不同的路径下,故会重复安装。

2.conda list下的和pip list下的同样的包,导入的是pip list下的。(这里在csdn上也有别的说法,但我个人下载numpy的时候会优先读pip下的2.0,不读conda的1.26,很怪)

令一种说法:

  1. conda安装 不会查到pip安装的包(先pip后conda会正常安装并调用conda,即conda不认pip下过的,这里就可能会导致一些奇怪的冲突),pip安装 可以查到conda的包(先conda再pip会显示已安装)。

  2. 尽量避免混用,如果必须要混用,先用conda再用pip.

Conda list除了虚拟环境下的还有关联文件下的

Pip list只有当前虚拟环境下的

4.若混用,uninstall后可能会出一些奇怪的问题。先把warning里提到的几个文件删掉(一般问题文件系统会加上~前缀,注意要把其中带-infor后缀的文件也删了(warning里不会出现这个文件,但是会有~前缀,list指令读的是这个文件,不删install会有问题)),再看看anaconda文件里lib和env\lpytorch\lib里还有没有想要删除的包的文件,手动全删,再install就行

相关推荐
烟锁池塘柳01 天前
Conda 创建环境报错:Unable to read repodata JSON file,清华源 pkgs/free 失效解决方法
json·conda
veminhe1 天前
conda使用
python·conda
Albart5752 天前
【已解决】ModuleNotFoundError_ No module named ‘xxx’ 模块导入失败终极解决
python·pip·环境配置·后端开发·bug解决·模块报错·python导包失败
10mAh2 天前
Python 环境彻底不乱:uv、pip、venv、Conda 怎么选?Windows 项目迁移与锁版本实战
python·pip·uv
doubt。2 天前
RAG与Agent智能体项目实战教程跟练与解析(前置准备与OpenAI库基础使用)
python·ai·pip
二进制杯莫停4 天前
A和B环境的python版本相同,B环境无法安装pip依赖,离线安装
开发语言·python·pip
DFT计算杂谈5 天前
服务器通过pip安装Kimi Code CLI 和使用
运维·服务器·pip
方与圆之帆6 天前
conda 管理不同版本的软件包
conda·gdal·osm
Patrick在香港6 天前
Python依赖管理从踩坑到选型:pip/poetry/uv四种方案全面实测
开发语言·python·数据分析·scikit-learn·ai编程·pip·uv
数智工坊7 天前
Conda 环境 Docker 标准化迁移完整方案,适配深度学习 GPU 训练
深度学习·docker·conda