如何解决 linux 实例 pip 操作时的超时问题 pip 是当前最流行的 python 安装包管理工具之一,很多阿里云用户会通过 pip 更新系统源。阿里云的 pip 源地址有以下三处: (默认)公网:mirror
如何解决 linux 实例 pip 操作时的超时问题
pip 是当前最流行的 python 安装包管理工具之一,很多阿里云用户会通过 pip 更新系统源。阿里云的 pip 源地址有以下三处:
(默认)公网:mirrors.aliyun.com
专有网络 VPC 内网:mirrors.cloud.aliyuncs.com
经典网络内网:mirrors.aliyuncs.com
现象描述
Linux 实例的 pip 请求偶有超时或者失败现象。目前ddmAKlX,受影响的公共镜像有:
Debian
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
以上就是本篇文章的全部内容知识点,感谢大家对我们的支持。
--结束END--
本文标题: linux中pip操作时的超时解决方法
本文链接: https://lsjlt.com/news/19883.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0