このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【エラー対策】PyInstallerをオフラインインストールする方法

2024年11月7日

Pythonライブラリを導入する時、プロキシで弾かれるためオフラインでインストールをしています。

いくつかのライブラリはインストールすることができたのですが、PyInstallerを導入する際にエラーが出てハマったので、その理由と解決策を紹介したいと思います。

オフラインインストールする方法

初めにオフラインインストールする方法について簡単に説明します。

通常Pythonであれば、コマンドラインで「py -m pip install ライブラリ名」と打つことで自動的にライブラリをダウンロードしてインストールしてくれます。

ところが、主に会社などでpipを使うとプロキシによって通信がブロックされてしまうことがあります。
こうした場合にはオフラインインストールすることで解決できます。

PyPiからインストールしたいライブラリ(whlもしくはtar.gzファイル)をダウンロードし、オフラインでインストールを行います。

py -m pip install --no-index --find-links=フォルダ名 ライブラリ名

pipする際に–no-index(ローカルディレクトリを参照)、–find-links(ディレクトリの参照先)の2つのオプションを追加することでオフラインインストールすることができます。

PyInstallerのインストール時にエラーが発生

いくつかのライブラリはオフラインインストールできたのですが、PyInstallerのインストールではエラーが出てハマりました。

<環境>
OS:Windows10
Python:3.9.4
pip:21.1.1
wheel:0.36.2
PyInstaller:4.3

py -m pip install --no-index --find-links=downloads pyinstaller

ライブラリをdownloadsフォルダに保存し、上のコマンドを実行したところ下記のエラーが発生しました。

C:\Users\***>py -m pip install –no-index –find-links=downloads pyinstaller Looking in links: downloads Processing c:\users*\downloads\pyinstaller-4.3.tar.gz
Installing build dependencies … error
ERROR: Command errored out with exit status 1:
command: 'D:\ProgramFiles\Python\Python39\python.exe’ 'C:\Users\***\AppData\Local\Temp\pip-standalone-pip-5x74odeq__env_pip__.zip\pip’ install –ignore-installed –no-user –prefix 'C:\Users\***\AppData\Local\Temp\pip-build-env-hg2evgp0\overlay’ –no-warn-script-location –no-binary :none: –only-binary :none: –no-index –find-links downloads — wheel setuptools
cwd: None
Complete output (3 lines):
Looking in links: downloads
ERROR: Could not find a version that satisfies the requirement wheel (from versions: none)
ERROR: No matching distribution found for wheel
——————————————————-
WARNING: Discarding file:///C:/Users//Downloads/pyinstaller-4.3.tar.gz. Command errored out with exit status 1: 'D:\ProgramFiles\Python\Python39\python.exe’ 'C:\Users\***\AppData\Local\Temp\pip-standalone-pip-5x74odeq__env_pip__.zip\pip’ install –ignore-installed –no-user –prefix 'C:\Users\***\AppData\Local\Temp\pip-build-env-hg2evgp0\overlay’ –no-warn-script-location –no-binary :none: –only-binary :none: –no-index –find-links downloads — wheel setuptools Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement pyinstaller (from versions: 4.3)
ERROR: No matching distribution found for pyinstaller

エラーメッセージ

「Could not find a version that satisfies the requirement wheel」のエラーはこれまでも何度か発生したことがありました。

これはインストールしたいライブラリの依存ライブラリが無いために発生するエラーで、依存ライブラリをインストールすれば解消しました。(オンラインでは自動的に依存ライブラリもインストールされます)

しかし、PyInstallerについては依存ライブラリであるwheelをインストールしても、なぜか上記のエラーが出続けます。

エラー対処法

PyInstallerとwheelのファイルを同一フォルダに入れてpipを実行することで解決しました。
(pipでは同一フォルダに依存ライブラリを入れると同時にインストールしてくれます)

Could not find a version that satisfies the requirement ***
wheelを入れた後もこのエラーは出ますが、後は***のライブラリを順次同じフォルダに入れていけば解決します。
(すべての依存ライブラリが揃うとインストールができます)

このように依存ライブラリのエラーが発生した場合には、依存ライブラリを同一フォルダに入れることで解決することができます。

Python

Posted by やろまい