vscode导入自定义包显示:ModuleNotFoundError: No module named ‘ *** ‘

不愿意看问题描述可以直接看解决方案

问题描述

vscode在导入自定义包方面会出现些问题,从github上下个项目运行不了,显示 ModuleNotFoundError: No module named ’ *** '。

比如有以下项目,工程名是experience,下面有parent包。parent包有parent_main.py以及child子包,child包里面有child_main.py

experience
|----parent
|------parent_main.py
|------child
|----------child_main.py

parent_main.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:\Project\experience

child_main.py

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

vscode运行结果
报错:ModuleNotFoundError: No module named ‘parent’


解决方案:

在vscode的setting.json里面设置自动将项目的根目录添加到环境变量。

1.打开setting.json。在左下角的设置里面

vscode导入自定义包显示:ModuleNotFoundError: No module named ‘ *** ‘_第1张图片

2.往下扒拉

vscode导入自定义包显示:ModuleNotFoundError: No module named ‘ *** ‘_第2张图片

3.在pythonPath下面添加一行代码(直接复制粘贴,不用改!)

vscode导入自定义包显示:ModuleNotFoundError: No module named ‘ *** ‘_第3张图片

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

对于linux系统这个语句是不行的,他会在最后多个分号。应该改为:

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

你可能感兴趣的:(vscode,ide,编辑器)