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文件进行安装,如果可以下载但是检测不到可以激活环境后再下载。

相关推荐
wan_da_ren27 分钟前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
【本人】33 分钟前
Django基础(一)———创建与启动
后端·python·django
lifallen1 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
你的人类朋友1 小时前
【✈️速通】什么是SIT,什么是UAT?
后端·单元测试·测试
程序无bug3 小时前
后端3行代码写出8个接口!
java·后端
绝无仅有4 小时前
使用LNMP一键安装包安装PHP、Nginx、Redis、Swoole、OPcache
后端·面试·github
他日若遂凌云志4 小时前
C++ 与 Lua 交互全链路解析:基于Lua5.4.8的源码剖析
后端
martinzh4 小时前
MySQL功能模块探秘:数据库世界的奇妙之旅
后端
绝无仅有4 小时前
服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)
后端·面试·github
喵个咪4 小时前
开箱即用的GO后台管理系统 Kratos Admin - 支持ElasticSearch
后端·微服务·go