web-dev-qa-db-ja.com

Visual StudioコードのPylint「未解決のインポート」エラー

私は次のセットアップを使用しています

  • MacOS Mojave
  • Python 3.7.1
  • Visual Studioコード1.30
  • Pylint 2.2.2
  • Django 2.1.4

リンティングを使用して、Visual Studioコードでの生活を少し楽にしますが、すべてのインポートには「未解決のインポート」と表示されます。デフォルトのDjangoインポート(つまり、Django.dbインポートモデルから)でも。

仮想環境pythonファイルが表示されていないためだと思います。

すべて正常に動作しますが、迷惑になり始めています。

私が持っているインタプリタの選択肢はすべて、Pythonのシステムバージョンです。私の仮想環境pythonはまったく見えないようです(ワークスペースと同じディレクトリにないため、その部分は理にかなっています)。

Settings.jsonファイルでpython.PythonPathをセットアップした場合、それは無視され、仮想環境のパスはオプションとしてリストされません。グローバルpython設定でも設定しようとしましたが、表示されません。

誰かがこの問題に遭遇し、それを機能させるための簡単な修正を知っていますか?

ありがとう、jAC

29
jAC

ワークスペース設定 で、pythonパスを次のように設定できます。

{
    "python.pythonPath": "/path/to/your/venv/bin/python",
}
29
ruddra

この問題はすでにGitHubで公開されています: https://github.com/Microsoft/vscode-python/issues/3840 2つの非常に有用な回答があります、MagnuesBrzenkとSpenHouetによる。

現時点での最善の解決策は、プロジェクトのルートフォルダーに.envファイルを作成することです。次に、次のようにPYTHONPATHを追加します。

PYTHONPATH=YOUR/MODULES/PATH

あなたのsettings.jsonに追加します

"python.envFile": ".env"  
15
Tomasz Chudzik

settings.jsonファイルにこのコードがある場合は、削除してください

{    
    "python.jediEnabled": false
}
11
sps

別の方法:コマンドインターフェイスを使用してください!

cmd/ctrl + shift + p> Python: Select Interpreter>探しているパッケージのあるものを選択します

enter image description here

10
ted

私が> reload window修正するとき。

参照: https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-452657892

7
Ali Hesari

.vscode\settings.jsonでjediを有効にすることでこれを解決できました

"python.jediEnabled": true

https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675 からの参照

4
nairb

上記のどれも私にとってはうまくいきませんでした。ただし、以下の両方の行をsettings.jsonファイルに追加しました。

"python.analysis.disabled": [ 
    "unresolved-import"
],
"python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"] 

最初の行は実際にリンティングエラーを隠しています。確かに恒久的な解決策ではありませんが、画面を整理します。

この答えは私に2行目を与えました: VS Code PyLint Error E0602(undefined variable)with ProtoBuf compileed Python St​​ructure

pythonを理解している人が私よりも多く説明できるかもしれません。

1
dillon.harless

別の解決策があります:VSCodeインスタンスは.venvに保存されているvirtualenvを選択しましたが、間違ったPythonバイナリを使用していました。 .venv/bin/python3.7を使用していました。青いステータスバーのスイッチャーを使用して、.venv/bin/pythonを使用するように変更し、すべてのインポートが正しく解決されました。これを行うときにVSCodeが舞台裏で何をしているのかわかりませんし、なぜこれが私の問題を引き起こしているのかもわかりませんが、私にとってこれはワークスペースの設定を編集するよりも少し簡単な解決策でした。私はそれが誰かを助けることを願っています。

1
DuffJ

受け入れられた回答は、独自のモジュールをインポートする際のエラーを修正しません。ワークスペース設定で次の設定を使用します.vscode/settings.json

"python.autoComplete.extraPaths": ["./path-to-your-code"],

参照: https://github.com/Microsoft/python-language-server/blob/master/TROUBLESHOOTING.md#unresolved-import-warnings

0
Shinebayar G

Pylintエラーの場合、以下をインストールします

pipenv install pylint-Django

次に、ルートフォルダーにファイル。pylintrcを作成し、次のように記述します。

load-plugins=pylint-Django