web-dev-qa-db-ja.com

VSCode-pylinterがモジュールを見つけることができません

MacでのPython開発用にVSCodeを使い始めましたが、pylintにモジュールを見つけさせることができません。

これは私のプロジェクトフォルダ構造です:

_project_root/
   .env
   .vscode/
       settings.json
   lib/
       # lib containing necessary modules
   sample/
       client/
           EDAMTest.py
   # many more files
_

pylintをインストールしたvirtualenvを使用しています。仮想環境はターミナルでアクティブ化されます。ターミナルの_project_root_を介して_code ._フォルダー内からcodeを開始しました。

VS Codeは、正しいインタープリターを使用していると言っています。左下にPython 3.6.1 (virtualenv)と表示されていることがわかります

ターミナル内で_project_root/sample/client/EDAMTest.py_コードをテストしたい場合は、フォルダー_export PYTHONPATH=../../lib; python EDAMTest.py_にいる間に_project_root/sample/client/_を介してテストできます。

VS Codeを使用している場合は、ファイル_EDAMTest.py_を開くと、pylintlibからモジュールをインポートできないことを通知しています。

今私の質問:

VSCodeでlibPYTHONPATHに追加するにはどうすればよいですか?

私はそうするためのいくつかの可能な方法を見つけました:

  1. _.env_ファイルを作成します(以下の[1]を参照)。
  2. _.vscode/launch.json_ファイルでPYTHONPATHを指定します([2]を参照)

私が見つけた可能な解決策はどれもうまくいかないようです。

何が足りないのですか?


[1] 環境変数定義ファイル

これは、グローバル(env)変数を定義する方法を教えてくれます。だから私はこれを指定しました:

_PYTHONPATH="~/.virtualenvs/evernote/bin/python;lib"_

しかし、それは機能しません。それでもlibsパスがpylintによって見つかりません


[2]それで私は次のように_launch.json_ファイルを作成しました:

_{
    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": false,
    "pythonPath": "${config.python.pythonPath}",
    "program": "${file}",
    "cwd": "${workspaceRoot}",
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "RedirectOutput"
    ],
    "env": {
        "PYTHONPATH": "~/.virtualenvs/evernote/bin/python:lib"
    }
}
_

---

編集

この問題に対処しようとするリンクは次のとおりです。

リンティングのトラブルシューティング

そのリンクは、いくつかの考えられる問題に対処しようとします。1つはこれです。

...インポートできません

推奨される解決策は次のとおりです。

pythonPath設定がPylintがインストールされている有効なPythonインストールを指していることを確認してください。

=>はい、しました。

または、使用しているPythonインタープリターに対応するPylintの適切なバージョンに_python.linting.pylintPath_を設定します。

=>やりましたが、まだ成功していません:

私の_.vscode/settings.json_:

_{
    "python.pythonPath": "~/.virtualenvs/evernote/bin/python",
    "python.linting.pylintPath": "~/.virtualenvs/evernote/bin/pylint"
}
_
6
Ugur

.envファイルでは、PYTHONPATH="~/.virtualenvs/evernote/bin/python:lib"のようにセミコロンの代わりにコロンを使用する必要があったようです。それで問題は解決したようです。

1
Ugur