vscode インポートのカスタム パッケージの表示: ModuleNotFoundError: '***' という名前のモジュールがありません

問題の説明を読みたくない場合は、解決策に直接移動できます。

問題の説明

vscode ではカスタム パッケージのインポート時に問題が発生し、github からの次のプロジェクトを実行できず、ModuleNotFoundError: No module names '***' が表示されます。

たとえば、次のようなプロジェクトがあり、プロジェクト名は experience で、その下に親パッケージがあります。親パッケージにはparent_main.pyと子のサブパッケージが含まれ、子パッケージにはchild_main.pyが含まれます。

経験
|----親
|------parent_main.py
|------子
|----------child_main.py

親メイン.py

def parent_main_func():
    print('parent_main_func')
if __name__ == '__main__':
    import sys
	# 查看环境变量
    for a_path in sys.path:
        print(a_path)

vscodeの実行結果

c:\Project\experience\parent
C:\Applications\Anaconda\envs\pytorch\python39.zip
C:\Applications\Anaconda\envs\pytorch\DLLs
C:\Applications\Anaconda\envs\pytorch\lib
C:\Applications\Anaconda\envs\pytorch
C:\Users\Powerful\AppData\Roaming\Python\Python39\site-packages
C:\Applications\Anaconda\envs\pytorch\lib\site-packages
C:\Applications\Anaconda\envs\pytorch\lib\site-packages\pyeeg-0.4.4-py3.9.egg

このプロジェクトの最も重要なルート ディレクトリがありませんC:\プロジェクト\経験

child_main.py

if __name__ == "__main__":
    from parent.parent_main import parent_main_func
    parent_main_func()

vscodeの実行結果
エラー: ModuleNotFoundError: 「親」という名前のモジュールがありません


解決:

vscodeで設定.json内部の設定により、プロジェクトのルート ディレクトリが環境変数に自動的に追加されます。

1.setting.jsonを開きます。左下隅の設定で

ここに画像の説明を挿入します

2.引き下げる

ここに画像の説明を挿入します

3.pythonPath の下にコード行を追加します (直接コピーして貼り付けます。変更する必要はありません)。

ここに画像の説明を挿入します

"terminal.integrated.env.windows": {
    
    "PYTHONPATH":"${workspaceFolder};${env:PYTHONPATH}"},

このステートメントは Linux システムでは機能せず、末尾に複数のセミコロンが付きます。次のように変更する必要があります。

"terminal.integrated.env.windows": {
    
    "PYTHONPATH":"${workspaceFolder}:${env:PYTHONPATH}"},

おすすめ

転載: blog.csdn.net/ittongyuan/article/details/131362782