皆様、こんにちは

 

Visual Studio Codeで「SSH FS 」プラグインを使って

リモートサーバ(Ubuntu)のファイルを編集おりました。

 

PythonとDjangoを用いてWeb開発の学習をしているときのこと

Djangoのモジュールをインポートしているのですが、

Visual Studio Codeでナミナミ線の警告が出ていることに気づきました。

※ローカルで同じファイルを操作しているときには、そのようなことはありません。

 (Djangoプラグインはインストール済みです)

 

ときに、意図せぬ修正が勝手に追加されエラーとなっておりました。

 

ナミナミ線のエラーを見ると

「Import "django.xxxx" could not be resolved 

   from source Pylance report Missing Module Source」

 ※xxxxは、任意のモジュール

と出ております。

Pythonのコーティング支援機能「Pylance」がSSH FSでリモートサーバへ接続時に

Djangoライブラリを読めずにエラーとなっているようです。

 

原因としては、Visual Studio Codeがモジュールを検索する場所足りてない

ことが要因ようです。

 

リモートサーバでのDjangoモジュールの場所を確認します。

$ python

Python 3.8.6 (default, Jan 15 2022, 21:32:28)

[GCC 9.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import django

>>> print(django.__file__)

/home/user/.pyenv/versions/3.8.6/lib/python3.8/site-packages/django/__init__.py

 

次にVisual Studio Codeの設定をします。

メニューバーの Code > 基本設定 > 設定 を選択します。

上部の「設定の検索」の欄に「extra path」を入力しエンターを押します。

対象のワークスペースを選び、

その中の「Python > Analysis: Extra Paths」で「項目の追加」をクリックし、

先ほどのパスを追加します。

 

「/home/user/.pyenv/versions/3.8.6/lib/python3.8/site-packages/」

 

もしくは

「./.pyenv/versions/3.8.6/lib/python3.8/site-packages」

※SSH FSで接続するワークディレクトリ直下から始める場合も有り

 

これでも治らない場合は、

settings.jsonに

-------------------------------------

{

  "python.jediEnabled": true,

  "python.languageServer": "Jedi",

}

-------------------------------------

と追加するようです。

 

何か情報がないかとGoogleをさまよっているときのこと

最新は、リモートサーバのファイル編集は、

「SSH FS」でなく

「Remote Development using SSH」が主流となっているようです。

 

古いものへの執着を捨て「SSH FS」アンインストール後に

「Remote Development using SSH」をインストールすることします。

 

乗り換えは次の記事に記載します。

 

では