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)を作成する方法

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

推薦する

Nginx proxy_pass の / スラッシュによって引き起こされた殺人事件の詳細な説明

背景nginx サーバー モジュールは 2 つのサーバーにプロキシする必要があるため、異なるサーバー...

HTML の小さなタグの使用に関するヒント

<em></em> などのフレーズ要素を使用すると、意図した視覚スタイルを維...

CSS3で作られたレインボーボタンスタイル

結果: 実装コード: html <div class="buttons"&...

JavaScriptカルーセルの実装について

今日もとても実践的な事例です。名前を聞くだけで高度で難しそうですよね?今日はカルーセル画像の真髄を簡...

Workermanはmysql接続プールのサンプルコードを書きます

まず、接続プールを使用する理由と、接続プールによってどのような問題が解決できるかを理解する必要があり...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

CSS は Alibaba ベクター ライブラリを使用して、対応する位置に見栄えの良いアイコン効果をすばやく追加します (サンプル コード)

Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...

Centos7 での mysql 8.0.15 のインストールと設定

この記事では、参考までにMySQL 8.0.15のインストールと設定のグラフィックチュートリアルを紹...

コマンドラインを使用してUbuntuのバージョンを検出する方法

方法1: lsb_releaseユーティリティを使用するlsb_release ユーティリティは、L...

MySQL の垂直テーブルを水平テーブルに変換する方法と最適化のチュートリアル

1. 縦型テーブルと横型テーブル垂直テーブル: テーブル内のフィールドとフィールド値はキーと値の形式...

MySQL の on と where における左結合設定条件の使用法の違いの分析

この記事では、MySQL の左結合における on 条件と where 条件の使用法の違いを例を使って...

Vue3 のリアクティブ関数 toRef 関数 ref 関数の紹介

目次リアクティブ機能使用法: toRef 関数 (理解するだけ)使用法: ref関数レスポンシブデー...

HTML 選択オプション デフォルトの選択方法

オプションに属性 selected = "selected" を追加すると、それ...

Linux DockerでSpringbootプロジェクトを実行するための詳細な手順

導入: springboot プロジェクトを実行する Docker の構成は実は非常にシンプルで、L...