linux中pip操作时的超时解决方法
如何解决 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 install 出现ascii编码问题的解决方法
- 解决:Linux SSH Secure Shell(ssh) 超时断开的解决方法
- linux下mysql 连接超时问题解决方法
- Anaconda使用pip install依赖包时提示超时的解决方法
- linux远程服务连接不上,或连接超时解决方法
- Linux Vsftpd 连接超时解决方法(被动模式)
- pip超时问题(timeout)的解决方法
- linux下pip安装mysql-python的错误解决方法
- Linux Vsftpd 连接超时解决方法(被动模式)
- linux下升级pip安装不了第三方库的解决方法
- 解决:Linux SSH Secure Shell(ssh) 超时断开的解决方法
- Linux Vsftpd 连接超时解决方法(被动模式)
- pip download timeout 下载慢,超时解决方法
- 解决Linux上安装MYSQL“mysqld 已死,但是 subsys 被锁 ”的方法
- VMWare中Linux启动键盘失去响应的解决方法
- linux学习笔记--常见问题解决方法
- windows到linux的mysql乱码问题解决方法
- Redhat9 Linux下字符界面乱码解决方法
- jsp中上传大文件(200M已测试),存到数据库,易发生连接超时的ie找不到网页的错误,其解决方法。略写代码,参考(.net修改代码应该可以,改天修改)
- linux启动,挂栽,共享,忘记密码的解决方法