Conda 安装pip依赖时报错No matching distribution found for xxx==6.2.3

问题背景

今天在使用 connda 创建环境的时候发现了一个问题,安装pip依赖一直失败。在网上找了资料无非是说以下几点:

  1. 网络有问题导致拉取网络依赖失败
  2. python版本跟依赖包不兼容
  3. 包版本不可用或者已经下架

现在让我们来一步一步进行定位

先查看自己的依赖包文件

conda依赖包的yml文件定义,使用pip:下级的依赖会使用pip进行安装,如果发现自己使用的包在conda中没上架需要配置好再进行安装

ini 复制代码
  - pip:
      - clip==0.2.0
      - colorama==0.4.6
      - fsspec==2025.3.0

问题定位

1. 网络有问题导致拉取网络依赖失败

笔者最后也是这个问题,但是是在踩过很多坑之后才发现这个问题。因为一开始在清华的镜像和国外镜像来回横跳。但都报错同样的问题导致以为是python版本问题或者其他问题。其实该问题解决到最后大部分是网络问题。

最后我成功解决使用的是阿里云的镜像。

需要注意的点是:

  1. 关闭防火墙和代理,使用国内网进行安装
  2. 因为conda有环境的概念,可以先创建一个纯净环境,再激活到这个环境中进行包的安装,如进行手动安装时这点有效
arduino 复制代码
pip config set global.index-url <https://mirrors.aliyun.com/pypi/simple/>

2. python版本有问题

这个问题比较容易定位,使用命令** pip show 依赖名** 即可进行定位。可以看下方的 requires** 和 ** required-by** 字段的值进行定位

less 复制代码
Name: clip
Version: 0.2.0
Summary: A CLI clipboard manager
Home-page: <http://procrastinatingdev.com/clip/>
Author: Adam McKerlie
Author-email: adammckerlie@gmail.com
License: Copyright (C) 2012 Adam McKerlie

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Location: 
Requires:
Required-by:

3. 包版本不可用或者已经下架(手动安装)

这里分为两部分,一部分是conda的包版本不可用,一部分是pip的包版本不可用

这里有几个注意点:

  1. 因为conda有环境的概念,可以先创建一个纯净环境,再激活到这个环境中进行包的安装。我一开始pip install手动安装clip依赖包是可用的,但是conda检测不到。故先激活到该环境再安装,才可以检测到。
  2. pip可以直接在官网上面查看包是否下架

PIP包名检测地址

PyPI · The Python Package Index

arduino 复制代码
# conda 检测 查看返回语句是否报错 如果安装成功也可以直接用了
conda install 依赖名
# pip检测 同上
pip install 依赖名

4. 下载whl文件到本地安装

终极解决方案,如果确定包是存在可用的,但是就是拉取不下来,那么可以在官方仓库中找到依赖文件到本地进行安装,下面是安装地址:

PyPI · The Python Package Index

安装命令:

perl 复制代码
![image.png](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/1dc2a4f057e544a2bf59781f4d44e1f8~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg5LiAX-S4quWJjeerrw==:q75.awebp?rk3s=f64ab15b&x-expires=1753170930&x-signature=DKy70nlMKsP3R3IHPfO%2B8w%2B5zEM%3D)
pip install /path/to/clip-0.2.0-py3-none-any.whl

需要注意的是,为conda有环境的概念,可以先创建一个纯净环境,再激活到这个环境中进行包的安装。我一开始pip install手动安装clip依赖包是可用的,但是conda检测不到。故先激活到该环境再安装,才可以检测到。重要的事情说了三遍

总结

其实无非是网络问题、版本问题、为什么检测不到和包是否不存在的问题。先通过修改镜像判断是否为网络问题,其次在官网上面查询该包查看是否有版本限制,最后手动下载查看是否可以检测到。如果包下架了就手动找到whl文件进行安装,如果可以下载但是检测不到可以激活环境后再下载。

相关推荐
KD3 小时前
设计模式——责任链模式实战,优雅处理Kafka消息
后端·设计模式·kafka
没逻辑9 小时前
gocron - 分布式定时任务管理系统
后端
程序猿DD9 小时前
人工智能如何改变 Anthropic 的工作方式
java·后端
桦说编程10 小时前
Guava Forwarding系列类详解——装饰器模式实战
java·后端·设计模式
VX:Fegn089510 小时前
计算机毕业设计|基于springboot + vue敬老院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
算法与双吉汉堡11 小时前
【短链接项目笔记】Day2 用户注册
java·redis·笔记·后端·spring
Victor35611 小时前
Netty(18)Netty的内存模型
后端
Victor35611 小时前
Netty(17)Netty如何处理大量的并发连接?
后端
码事漫谈11 小时前
C++共享内存小白入门指南
后端