Visual Studio Code の Linter Pylint インストールエラー対応(オフライン・アクセス制限PC向け)
Visual Studio Code(以下 VS Code)で Python プログラミング環境を構築する際、「linter pylint is not installed」というエラーが発生した。通常であれば VS Code 上に表示される画面で「Install」をクリックすれば自動でインストールしてくれる。しかし、それでもインストールできない場合がある。例えば、セキュリティの都合でアクセスが制限されている場合や、オフラインで使用しているPCの場合である。そんな状況における Linter Pylint インストールエラーの対応を本稿に記載します。
環境
・windows 10(64bit)
・VS Code 1.45.1
・Python 3.8.3(32bit版)
発生する問題
VS Code で Python 環境を構築した際、以下のように「Linter pylint is not installed」と表示される。通常、「Install」をクリックすれば VS Code が自動でインストールしてくれる。しかし、セキュリティの都合でアクセスが制限されている場合などにおいて、ターミナル画面に「対象のコンピューターによって拒否されたため、接続できませんでした」とエラーが表示され、Linter pylintをインストールできない。
Pylint とは?
Pylint は Python コードのエラー チェックツールです。VS Code で Python のコーディングする際に役立ちます。
原因
VS Code が Linter pylint をインストールする際、pip を使用している。そのため、原因は VS Code というよりも、pip に原因がある。なぜなら、セキュリティなどの都合でアクセス制限されているPCでは pip がうまく動作してくれないからである。おそらく、同様の状況に直面されている方は pip で何らかの Python ライブラリをインストールしようとするとエラーが生じると思います。もし、pip がインストールされていないだけであれば、pip をインストールすれば解決できると思います。以下に VS Code の情報があります。
対応方法
対応として、pip でインストーするファイルを自分でダウンロードして、ローカルに保存し、ローカルに保存したファイルを指定して pip でインストールします。やることとしては、オフライン環境にて、pip で Python ライブラリをインストールするのと同様の手順です。手順としては次のようになります。
手順①:.tar.gz ファイル ダウンロード
.tar.gz ファイルをダウンロードしてきます。pylint の場合は下記のページから、左側の「Download files」をクリックするとダウンロードできるファイルの一覧が表示されます。ファイルは自身の環境に合わせたバージョンをインストールする必要があるので注意してください。
手順②:.tar.gz ファイル インストール
コマンドプロンプトから .tar.gz ファイルをインストールします。以下のようにコマンドを入力します。ここでポイントがいくつかあります。
py -m pip install --no-deps (ダウンロードしたファイル名)
Point 1
コマンドプロンプトで実行する際、ディレクトリはダウンロードした .tar.gz ファイルが保管されている場所にしてください。違うディレクトリになっているとファイルが存在しないとのエラーが生じます。
Point 2
Windowsの場合は、pip の前に「py -m」をつけてインストールしてください。Windowsで通常通りインストールした場合、pip のPATHが通っていないと思います。そこで「py -m」をつけるとPATHが通っていなくてもpipを扱えます。
Point 3
コマンドに「--no-deps」をつけてください。「--no-deps」をつけないでインストールを実行すると、指定したパッケージの関連ライブラリのインストールが行われます。そうすると、インターネットへのアクセスが制限されているPCやオフラインのPCではエラーが発生します。そこで「--no-deps」をつけてあげれば、指定したライブラリを単体でインストールしてくれます。ただし、関連ライブラリを自動でダウンロードしてインストールしないということは、関連ライブラリをすべて自分でダウンロードしてきてインストールする必要があるということです。
手順③:関連ファイル インストール
pylint をインストールするには関連ファイルがいくつかあります。それらの .tar.gz ファイルも同様にダウンロードしてきてインストールする必要があります。しかし、ファイル数が多くて面倒。そこで私は、インターネットに自由にアクセス可能なPCで、コマンドプロンプトにて次の処理を実行しました。パッケージ名には「pylint」を入力します。そうすると pylint および関連ファイルが一括で指定したフォルダにダウンロードされます。
py -m pip download -d (ダウンロード先) --no-binary :all: (パッケージ名)
上記の処理を実行した結果、指定したフォルダ内に以下のファイルがダウンロードされました。各バージョンは2020年5月21日時点のものです。
astroid-2.4.1.tar.gz
colorama-0.4.3.tar.gz
isort-4.3.21.tar.gz
lazy-object-proxy-1.4.3.tar.gz
mccabe-0.6.1.tar.gz
pylint-2.5.2.tar.gz
six-1.14.0.tar.gz
toml-0.10.1.tar.gz
wrapt-1.12.1.tar.gz
関連ファイルのダウンロードが完了したら手順②と同様にそれぞれのファイルを1つずつインストールしていきます。
手順④:追加の関連ファイル
手順③でダウンロードした関連ファイルを pip でインストールする際、以下のファイルだけエラーになりました。コマンドプロンプトで「Installing build dependencies ...」と表示された後にエラーとなってしまします。そこで以下のファイルに関しては、次のように whl ファイルでインストールしました。
lazy-object-proxy-1.4.3.tar.gz
mccabe-0.6.1.tar.gz
まず、下記のサイトから lazy-object-proxy の whl ファイルをダウンロードしてきました。私の場合は「lazy_object_proxy-1.4.3-cp38-cp38-win32.whl 」をダウンロードしましたが、使用している環境に合わせたバージョンのものをダウンロードしてください。
次に、同様に下記のサイトから macabe の whl ファイルをダウンロードしてきました。同様に、使用している環境に合わせたバージョンのものをダウンロードしてください。
各 whl ファイルをダウンロードしたら、コマンドプロンプトからファイル名を指定してインストールします。
py -m pip install --no-deps (ダウンロードしたファイル名)
ここまでの手順を行い、VS Code を再起動させれば初めに表示されていたメッセージは表示されなくなり、linter pylint の機能を使えるようになっていると思います。
あとがき
今回、VS Code における linter pylint のインストールをやってみて、かなり面倒だなと感じましたが、エラーメッセージが表示されなくなるのは気持ちが良いですね。私は従来、Spider というエディタを使っていたのですが、とあるきっかけで VS Code を使ってみたら、コード補完や関数の説明が表示されたり、何かと便利だったので VS Code を使うことにしました。やってみた甲斐はあったかなという感じです。また、本記事に記載した内容は numpy や matplotlib などのライブラリをオフライン環境のPCにインストールする際にも応用できると思います。
参考サイト
以上
何かお役に立てたら、サポートしていただけると嬉しいです!モチベーションを高めて、アウトプットしていきます!