如何解决linux中pip操作超时的问题

发布时间:2021-07-14 11:33:54 作者:小新
来源:亿速云 阅读:127

这篇文章给大家分享的是有关如何解决linux中pip操作超时的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

pip 是当前最流行的 Python 安装包管理工具之一,很多阿里云用户会通过 pip 更新系统源。阿里云的 pip 源地址有以下三处:

(默认)公网:mirrors.aliyun.com

专有网络 VPC 内网:mirrors.cloud.aliyuncs.com

经典网络内网:mirrors.aliyuncs.com

现象描述

Linux 实例的 pip 请求偶有超时或者失败现象。目前,受影响的公共镜像有:

CentOS

Debian

Ubuntu

SUSE

OpenSUSE

Aliyun Linux

原因分析

pip 请求的默认访问地址为 mirrors.aliyun.com,要求访问该地址的实例能访问公网。当您的实例没有分配公网 IP 时,会出现 pip 请求超时故障。

解决方法

您可以使用以下方法中的任意一种解决问题。

方法一

为您的实例分配公网 IP,即为实例绑定一个 弹性公网 IP(EIP)。预付费实例还可以通过 升降配 重新分配公网 IP。

方法二

一旦出现 pip 响应延迟,您可以在 ECS 实例中运行脚本 fix_pypi.sh,然后再重试 pip 操作。

远程连接实例。

运行 wget http://image-offline.oss-cn-hangzhou.aliyuncs.com/fix/fix_pypi.sh 获取文件。

运行脚本:

VPC 实例:运行 bash fix_pypi.sh "mirrors.cloud.aliyuncs.com"。

经典网络实例:运行 bash fix_pypi.sh "mirrors.aliyuncs.com"。

重试 pip 操作。

以下为 fix_pypi.sh 的脚本内容:

#!/bin/bash
function config_pip() {
  pypi_source=$1
  if [[ ! -f ~/.pydistutils.cfg ]]; then
cat > ~/.pydistutils.cfg << EOF
[easy_install]
index-url=http://$pypi_source/pypi/simple/
EOF
  else
    sed -i "s#index-url.*#index-url=http://$pypi_source/pypi/simple/#" ~/.pydistutils.cfg
  fi
  if [[ ! -f ~/.pip/pip.conf ]]; then
  mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url=http://$pypi_source/pypi/simple/
[install]
trusted-host=$pypi_source
EOF
  else
    sed -i "s#index-url.*#index-url=http://$pypi_source/pypi/simple/#" ~/.pip/pip.conf
    sed -i "s#trusted-host.*#trusted-host=$pypi_source#" ~/.pip/pip.conf
  fi
}
config_pip $1

感谢各位的阅读!关于“如何解决linux中pip操作超时的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. windows下解决pip安装模块超时的问题
  2. Linux 实例 pip 操作时的超时了怎么解决

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux pip

上一篇:SpringBoot项目中怎么实现接口防刷

下一篇:Linux怎么配置和使用i3窗口管理器

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》