Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法

pip は最も人気のある Python パッケージ管理ツールの 1 つです。多くの Alibaba Cloud ユーザーは、システム ソースを更新するために pip を使用しています。 Alibaba Cloud の pip ソースアドレスは次のとおりです。

(デフォルト) パブリックネットワーク: mirrors.aliyun.com

プライベート ネットワーク VPC イントラネット: mirrors.cloud.aliyuncs.com

クラシック ネットワーク イントラネット: mirrors.aliyuncs.com

現象の説明

Linux インスタンスに対する Pip リクエストは、タイムアウトしたり失敗したりすることがあります。現在、影響を受ける公開画像は次のとおりです。

セントOS

デビアン

ウブントゥ

スーズ

オープンSUSE

アリユンLinux

原因分析

pip リクエストのデフォルトのアクセス アドレスは mirrors.aliyun.com であり、このアドレスにアクセスするインスタンスはパブリック ネットワークにアクセスできる必要があります。インスタンスにパブリック IP が割り当てられていない場合、pip リクエストのタイムアウト エラーが発生する可能性があります。

回避策

問題を解決するには、次のいずれかの方法を使用できます。

方法1

インスタンスにパブリック IP アドレスを割り当てます。つまり、インスタンスに Elastic Public IP アドレス (EIP) をバインドします。プリペイドインスタンスでは、アップグレードまたはダウングレードを通じてパブリック IP アドレスを再割り当てすることもできます。

方法2

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
関数config_pip() {
  pypi_source=$1
  [[ ! -f ~/.pydistutils.cfg ]]; の場合
cat > ~/.pydistutils.cfg << EOF
[簡単インストール]
インデックス URL = http://$pypi_source/pypi/simple/
終了
  それ以外
    sed -i "s#index-url.*#index-url=http://$pypi_source/pypi/simple/#" ~/.pydistutils.cfg
  フィ
  [[ ! -f ~/.pip/pip.conf ]] の場合
  mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[グローバル]
インデックス URL = http://$pypi_source/pypi/simple/
[インストール]
信頼できるホスト = $pypi_source
終了
  それ以外
    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
  フィ
}
config_pip $1

以上がこの記事の内容とポイントです。123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • PIP で docker-compose をインストールする際のタイムアウト問題の解決方法
  • Python pip 使用タイムアウト問題の解決
  • Python で pip を使用してサードパーティのライブラリ (ツールキット) をインストールするときに遅い、タイムアウトする、失敗する問題の解決策の詳細な説明
  • PIP を使用して Python パッケージをインストールする際のタイムアウト問題の解決方法

<<:  コマンドを使用してMySQLデータベース(de1)を作成する方法

>>:  ミニプログラムはリストのカウントダウン機能を実装します

推薦する

Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法

VMware と Ubuntu を再インストールしましたが、コマンドラインプロンプトが単調すぎて美し...

Vue2 における 12 種類のコンポーネント通信

目次1. 小道具2..同期3.vモデル4.参照5. $emit/v-on 6. $attrs/$li...

docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

springboot には tomcat サーバーが組み込まれているため、jar パッケージにパッケ...

Vue はシームレスなカルーセル効果 (マーキー) を実現します

この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを例として紹介します。...

jquery-multiselect を使用した IE6 のバグの解決方法

jquery-multiselect (ドロップダウン ボックスをチェックボックス付きの複数選択コン...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

フロントエンドタスク構築のための強力なツールであるGulp.jsの使い方を詳しく説明します

目次概要Gulp.jsをインストールするGulp.jsを使用してプロジェクトを作成するgulpfil...

シンプルなウェブ計算機を実装するJavaScript

背景私は新しいプロジェクト チームに配属されたので、プロジェクトでは js を使用する必要があります...

Zabbix上のすべてのホストのIPとホスト名を取得する

ザビックスZabbix ([`zæbiks]) は、WEB インターフェースに基づいて分散システム監...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

Dockerコンテナを更新、パッケージ化、Alibaba Cloudにアップロードする方法

今回は、実行中のコンテナをイメージにパッケージ化して Alibaba Cloud にアップロードし、...

ウェブデザインの詳細分析に関する詳細な議論

設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...

HTMLがHikvisionカメラのリアルタイム監視機能を実現

最近、同社は CCFA 関連のいくつかの作業を行う予定で、その 1 つはカメラのリアルタイム監視を再...

CSS3 列を使用したカード ウォーターフォール レイアウトを実装するためのサンプル コード

この記事では、カード ウォーターフォール レイアウトを実現するための CSS3 列のサンプル コード...