You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决pip安装软件包时的ReadTimeoutError与包找不到问题(非conda环境)

解决pip安装超时及sklearn包找不到的问题

Hey Mina, let's fix this issue for you—you've got two key things going on here, so we'll tackle them one by one:

1. 先纠正一个小误区:sklearn不是正确的包名

PyPI上没有名为sklearn的正式维护包(它只是一个过时的空占位包),你实际需要安装的是**scikit-learn**,这是机器学习库的官方包名。不过你提到安装任何包都会超时,所以我们先解决网络问题,再验证这个点。

2. 解决pip连接超时的核心问题

既然所有包安装都出现ReadTimeoutError,说明你的网络连接官方PyPI源(pypi.org)速度过慢或不稳定,试试下面几种实用方案:

方案一:延长pip的超时时间

临时增加超时阈值,给pip足够的时间完成下载:

pip install --default-timeout=100 scikit-learn

这里把超时设为100秒,你可以根据自己的网络情况调整数值。

方案二:使用国内PyPI镜像源(最推荐)

国内镜像源的下载速度快很多,基本不会出现超时问题:

  • 临时使用:每次安装时直接指定镜像地址:

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn
    

    常用的国内镜像还有阿里云(https://mirrors.aliyun.com/pypi/simple/)、豆瓣(https://pypi.doubanio.com/simple/)等,选你访问最快的即可。

  • 永久配置镜像:以后每次pip安装都自动用镜像,不用重复加参数:

    1. 在你的用户目录(C:\Users\Mina)下新建一个名为pip的文件夹
    2. 在这个文件夹里创建pip.ini文件,写入以下内容:
      [global]
      index-url = https://pypi.tuna.tsinghua.edu.cn/simple
      

    或者直接用命令行一键配置:

    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    

方案三:配置代理(如果你的网络需要代理访问外网)

如果你的网络是通过代理连接外网的,需要给pip配置代理信息:

  • 临时使用代理
    pip install --proxy=http://你的代理地址:端口号 scikit-learn
    
  • 永久配置代理:在刚才的pip.ini里添加代理配置:
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    proxy = http://你的代理地址:端口号
    

验证解决方案

等网络问题解决后,执行正确的安装命令:

pip install scikit-learn

这样就能顺利安装机器学习库了。

内容的提问来源于stack exchange,提问作者mina

火山引擎 最新活动