前言

此篇文章主要记录一些环境问题, pip,conda的使用这些

pip

包安装规则

如果包不存在,则安装符合要求的最新版本, 可以通过下面命令查看此次安装的包的具体包版本, 也能查看当前源有哪些版本

1
pip index versions 包名[范围]

如果包存在且符合要求,则不需要重新安装, 如果不符合要求则会删除此版本, 重新安装, 这就回到包不存在的规则

如果安装的包存在其他依赖, 安装依赖的时候也会执行此规则

包安装方式

源码安装: 从源码开始编译构建, 这个比较耗时间而且容易出错, 如果看到pip下载的是压缩包那些文件, 就是源码构建

预构建二进制包安装: 直接安装别人已经编译构建好的二进制文件(.whl格式)

对比项 源码安装 预构建 Wheel
安装速度 慢(需编译) 快(直接安装二进制)
兼容性 高(可适配不同环境) 依赖官方提供的 Wheel
定制性 高(可修改编译选项) 无(固定二进制)
依赖要求 需编译器(如 gcc 仅需 pip

常见问题

版本冲突问题

第一种: 两个包依赖的共同包版本不一致 通常需要升降级一个包的版本(推荐) 或者修改另外一个包的源码做兼容(不推荐)

第二种: 如果所依赖的包没有指定版本, 那么就很有可能出现版本冲突, 如果依赖包不存在的话则选择最新的依赖包, 但是最新的依赖包很可能已经不兼容了, 可以先安装好指定依赖包版本