Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

Windows と Visual Studio でやっていきます。

■ 最初に

今回 Visual Studio でやっていきますが、Visual Studio のどのワークロードか把握できていません。後で調べたいと思っています。

■ Visual Studio で新規にプロジェクトを作成する

Visual Studio で普通に 「 Android 」で検索して Android Application を選んで作っていきます。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

ウィザード形式で。特別な設定項目はありません。 いくつかのビューの構成からテンプレートを選んだりとかは無いようです。シンプルですね。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

パッケージ名とターゲットとするバージョンを選びます。パッケージ名は Android ワールドなので、.NET の名前空間とは違ってくるのが面白いですね。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

できました。これでデバッグ実行すればもう動きます。簡単ですね。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

■ Windows Subsystem for Android で動かしてみよう

Windows Subsystem for Android が整っている Windows 環境ならば Windows Subsystem for Android でデバッグ実行ができます。せっかくなので Windows Subsystem for Android で実行してみましょう。

まずは、Windows Subsystem for Android の設定を開きます。Windows のメニューから Android 用 Windows サブシステム設定 を開きます。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

開いたアプリの左のタブで 開発者 を選択して開発者モードを オン にします。画像は オン になっている様子です。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

青字の 開発者向け設定の管理 をクリックします。
こんなアプリが起動してきます。これは起動待機画面なので Twiter チャンスです。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

こんな画面が出てきたら Twitter を閉じて Visual Studio に戻ります。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

Visual Studio で 「 ツール > Android > Android Adb コマンドプロンプト... 」 を選択します。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

表示されたコマンドプロンプトや Windows Terminal など (Windows の設定により異なります) で次のコマンドを実行します。
ここで入力している IP アドレスとポートは Android 用 Windows サブシステム設定 アプリの 開発者モード のところに表示されていたものを打ちました。

>adb connect 127.0.0.1:58526

次の様になれば成功です。

>adb connect 127.0.0.1:58526
failed to authenticate to 127.0.0.1:58526

後ろで次のようなダイアログが表示されていると思いますので、許可 してください。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

Visual Studio に戻るとデバッグターゲットが Microsoft Corporation Subsystem for Android になっているはずです。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

ここで注意点です。このまま実行して次のように見慣れた Android のエミュレーターで実行されたら 失敗 です。騙されないでください。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

もしエミュレーターになる場合は、Visual Studio でデバッグターゲットを一度エミュレーターに変えてから Microsoft Corporation Subsystem for Android をもう一度選択します。これが正しい手順化分かりませんが、これで意図通りに動いています。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

成功すれば、このように Windows 上のアプリのように実行されます。おめでとうございます! ありがとうございます!
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

UWP などのアプリと同じように Windows のメニューに登録されています。
Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

■ adb connect がうまくいかない場合

対象のコンピューターによって拒否されたため、接続できませんでした。

次のようなメッセージが表示される場合は、開発者向け設定の管理 を開いて、もう一度コマンドを実行してください。

>adb connect 127.0.0.1:58526
cannot connect to 127.0.0.1:58526: 対象のコンピューターによって拒否されたため、接続できませんでした。 (10061)

この画面です。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

already connected to

次のようなメッセージが表示される場合は、すでに成功しています。大丈夫です、手順を進めてください。

>adb connect 127.0.0.1:58526
already connected to 127.0.0.1:58526

■ 簡単ですね

簡単ですね。

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をインストールできない。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

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」をクリックするとダウンロードできるファイルの一覧が表示されます。ファイルは自身の環境に合わせたバージョンをインストールする必要があるので注意してください。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

手順②:.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 」をダウンロードしましたが、使用している環境に合わせたバージョンのものをダウンロードしてください。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

次に、同様に下記のサイトから macabe の whl ファイルをダウンロードしてきました。同様に、使用している環境に合わせたバージョンのものをダウンロードしてください。

Vscode 対象のコンピューターによって拒否されたため、接続できませんでした。

各 whl ファイルをダウンロードしたら、コマンドプロンプトからファイル名を指定してインストールします。

py -m pip install --no-deps (ダウンロードしたファイル名)

ここまでの手順を行い、VS Code を再起動させれば初めに表示されていたメッセージは表示されなくなり、linter pylint の機能を使えるようになっていると思います。

あとがき

今回、VS Code における linter pylint のインストールをやってみて、かなり面倒だなと感じましたが、エラーメッセージが表示されなくなるのは気持ちが良いですね。私は従来、Spider というエディタを使っていたのですが、とあるきっかけで VS Code を使ってみたら、コード補完や関数の説明が表示されたり、何かと便利だったので VS Code を使うことにしました。やってみた甲斐はあったかなという感じです。また、本記事に記載した内容は numpy や matplotlib などのライブラリをオフライン環境のPCにインストールする際にも応用できると思います。

参考サイト

以上