Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Python

Pythonパッケージインストール(pip install)をオフラインで行う方法

投稿日:2020年12月22日 更新日:

<目次>

(1) Pythonパッケージインストール(pip install)をオフラインで行う方法
 (1-1) オフラインインストールとは?
(2) オフラインインストールの手順(要Cコンパイルのもの)
 (2-1) VSのブートストラップをダウンロード
 (2-2) レイアウト(キャッシュ)の作成+カスタマイズ
 (2-3) ローカルキャッシュを用いてVisual Stuidoをインストール
 (2-4) 目的のパッケージのインストール
(3) 用語説明
 (3-1) レイアウトの作成とは?
 (3-2) 「pip」とは?
 (3-3) setuptoolsについて

(1) Pythonパッケージインストール(pip install)をオフラインで行う方法

(1-1) オフラインインストールとは?

まずインストールの方法が大きく分けて「オンライン」と「オフライン」の2つに分かれます。

(1-1-1) オンライン(ON)

「オンライン」はインターネットから直接インストーラを入手してインストールする方法で、イメージとしては「pip install [パッケージ名]」コマンドでインストールを行います。

(1-1-2) オフライン(OFF)

「オフライン」は何らかの事情でインターネットに接続出来ない環境での開発を行うなどの事情がある場合に、オンラインから落とした資源をオフライン環境に持って行き、インターネット接続無しで完結するようにインストールを行っていく方法です。

オフラインの場合のおおまかな流れとしては次のようになります(少し省略していますが)。

①資源のダウンロード(オンラインから)
オン(ON)の時と同じ「pip install」コマンドを使います。「-d」オプションでディレクトリを指定して任意のパスにダウンロードします。

pip install -d [ダウンロード先] --no-binary :all: [パッケージ名]


②資源をオフライン環境に配備
ダウンロードした資源をオフライン環境に移し、任意のディレクトリに配備します。

③インストールの実行
そのパスに移動してpip installコマンドを実行します。

ただし、一部のパッケージ(Levenshteinなど)はインストール時(pip install時)にCからのコンパイルが必要です(モジュールの中にはpipコマンドでのインストール時にコンパイルするものがあるため)。無い場合には次のようなエラーメッセージが出る事があります。

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

CやC++からコンパイルするためには「Microsoft Build Tools」を使います(vs_buildtools_xx.exe)。通常であれば、vs-buildtools-xxx.exeを叩くとネットに繋ごうとするため、オンラインで行うにはLayoutを事前に作成する必要があります。

以降はそうしたC++からコンパイルが必要なパッケージをオフラインでインストールするための手順をご紹介します。

目次にもどる

(2) オフラインインストールの手順(要Cコンパイルのもの)

(2-1) VSのブートストラップをダウンロード

この手順はオンライン(インターネット接続あり)で実施します。
今回は「vs_buildtools.exe」をダウンロードします。

(URL)※Visual Studio 2019の場合
https://docs.microsoft.com/ja-jp/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2019

(図211)

ダウンロードが出来たら、インストールするサーバの任意のパスに配備します(例ではデスクトップ)。

(図212)

目次にもどる

(2-2) レイアウト(キャッシュ)の作成+カスタマイズ

この手順はオンライン(インターネット接続あり)で実施します(vs-buildtools-xxx.exeをそのまま叩くとネットに繋ごうとするため、オンラインで行うにはLayoutを事前に作成する必要があります)。

(コマンド)

vs_buildtools__665421103.1576898890.exe --layout [任意のパス]\buildtool\layout\ --add Microsoft.VisualStudio.workload.VCTools --add Microsoft.VisualStudio.workload.MSBuildTools --includeOptional --lang en-US

コマンドを改行してみると少し解読し易くなります。

vs_buildtools_xx.exe 
--layout [任意のパス]\buildtool\layout\
--add Microsoft.VisualStudio.workload.VCTools 
--add Microsoft.VisualStudio.workload.MSBuildTools 
--includeOptional --lang en-US

 

(コマンド説明)
①「layout」でオフラインインストールのキャッシュを指定するディレクトリを作成します。
②「add」でダウンロードしたい「ワークロード」を指定する事ができます。
③「includeOptional」は指定したワークロードIDの全ての推奨&任意コンポーネントを含めます。
④「lang」でロケールを追加しています。

(図221)


(図222)


(図223)

(完了メッセージ)

Download of 'https://download.visualstudio.microsoft.com/download/pr/12134536/1d4dd63878c15be36deb5e7106d37ce1/X86%20Debuggers%20And%20Tools-x86_en-us.msi' succeeded using engine 'WebClient'
Layout progress: 99.00%
セットアップは正常に終了しました。
続行するには何かキーを押してください...


(図224)
ローカルキャッシュが作成されました。

目次にもどる

(2-3) ローカルキャッシュを用いてVisual Stuidoをインストール

この手順はオフライン(インターネット接続なし)で実施します。
ローカルインストールキャッシュを用いてインストールする際に基本はローカルのファイルを探しに行きますが、ローカルに無いコンポーネントを選択した場合はネット上に探しに行きます。

まずは先程作成したレイアウトが置かれたフォルダに移動して次のコマンドを実行します。

(コマンド)
vs_buildtools__665421103.1576898890.exe --add Microsoft.VisualStudio.workload.VCTools --add Microsoft.VisualStudio.workload.MSBuildTools --includeOptional --lang en-US

この時、以前にダウンロードしたファイルのみがインストールされるように、レイアウト キャッシュの作成に利用したものと同じコマンド ライン オプションを使用します。

(図231)Visual Studioインストーラが起動します


(図232)インストールが進行中


(図233)C++のビルドツールを選択します


(図234)インストールが進行中


(図235)インストール完了

目次にもどる

(2-4) 目的のパッケージのインストール

ここまでの手順を踏んで、ようやく目的のパッケージを「pip install」でインストールします。

①パッケージのダウロード(オンラインで実施)

PyPIのページ等から「Levenshtein」のパッケージをダウンロードします。
(図241)

次に「Setuptools」のパッケージをダウンロードします。
(図242)

②サーバに配備

ダウンロードした資源をサーバ(オフライン環境)に配備します。
(図243)

③インストールの実行

「pip install」コマンドでsetuptoolsとLevenshteinをインストールします。

$ pip install setuptools-xxx-py2.py3-none-any.whl
$ pip install python-Levenshtein-0.12.0.tar.gz

(図244)

(図245)

(図246)

④パッケージの疎通
インストールが完了したら簡単なLevenshteinのプログラムで動作確認します。
(図247)

目次にもどる

(3) 用語説明

(3-1) レイアウトの作成とは?

初期インストール資源に加えて付随する全ての更新プログラムを一つのフォルダに集約する事を「レイアウトを作成する」と呼んでいます。
この機能は各クライアントバージョンが合っていなくても、同じ配置場所を利用する事でインストールを管理できるようにする目的で作られています。
ちなみにVisual Stuidoの完全なレイアウトを作ると35GB程度の容量になるため、必要な機能に絞ってレイアウトを作る事が多いと思います(レイアウトのカスタマイズ)。

目次にもどる

(3-2) 「pip」とは?

・Pythonのパッケージ管理ツールです。Python3.4以降はPython本体に含まれているためインストールが不要になった
・サードパーティが配布しているパッケージをインストールするために使う。
・他のパッケージ管理ツールとしてeasy_installやcondaがあり、condaはAnacondaパッケージのマネージャツールである。

目次にもどる

(3-3) setuptoolsについて

setuptoolsは「Python distutls」の改修を集めたもの+easy_install(インストール補助コマンド)を同梱したもので、Pythonの資源を構築・配布をより簡単にする事ができます。以前はdistributeパッケージと迷うところであったが、2013年はsetuptoolsに再度組み込まれたため(マージ)、現在ではsetuptoolを選択すればOK。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

PythonでSQLAlchemyを使ってOracleDBに接続する際に遭遇したエラーとその対処方法

本記事は次の記事の続編です。 (下記記事の手順を実行する際に遭遇したエラーについての備忘録) PythonでSQLAlchemyを使ってOracleDBに接続する方法 (0) 目次 (4) エラー対応 …

no image

PythonでValueError: If using all scalar values, you must pass an indexエラーが出た時の対処方法

  <目次> (1) PythonでValueError: If using all scalar values, you must pass an indexエラーが出た時の対処方法  ( …

PythonのFlaskフレームワークを用いたRest APIのサンプル

  <目次> (1) PythonのFlaskフレームワークを用いたRest APIのサンプル  (1-1) Flaskとは  (1-2) STEP1:Flaskフレームワークの導入  (1 …

Pythonの「Import “requests” could not be resolved from source Pylance」エラーの原因と対処について

  <目次> (1) Pythonの「Import “requests” could not be resolved from source Pylance」エラーの …

Pythonでcsvのカラム名・テーブルのレコードを取得する方法

今回PythonのPandasライブラリを用いてcsvファイルを読み込み、カラム名やテーブルのレコードを取得する方法をご紹介します。 <目次> (1) Pythonでcsvのカラム名・テーブルのレコー …

  • English (United States)
  • 日本語
Top