Python: Pycharm可以运行但是VSCode总是报错ModuleNotFound

最近遇到Pycharm和VSCode上去运行同样的代码,Pycharm上可以正常运行,但是VSCode总是报错说ModuleNotFound,折腾了一番后发现VSCode是需要做配置才能正常运行。
代码结构:
添加图片注释,不超过 140 字(可选)
Tool.py
class CommonTools(object): def __init__(self): pass def test(self): print('this is a test function only.')
test.py
from common.Tool import CommonTools mail = CommonTools() mail.test()
在Pycharm上运行test.py文件,能正常运行并输出
添加图片注释,不超过 140 字(可选)
当时在VSCode上运行,会报错:ModuleNotFoundError: No module named 'common'
VSCode上2种运行方式都会报错:
  1. 用Ctrl+F5或F5去运行,结果如下:
添加图片注释,不超过 140 字(可选)
2. 右键点击py文件内容,选择“Run Python File in Terminal”,一样的报错
 
后来发现需要在VSCode上配置launch.json,需要新加2行设置
"env":{"PYTHONPATH":"${workspaceRoot}"},
"envFile":"${workspaceFolder}/.env"
效果如下:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true, "env": {"PYTHONPATH":"${workspaceRoot}"}, "envFile": "${workspaceFolder}/.env" } ] }
此后,VSCode上第一种方法可以正常运行:用Ctrl+F5或F5去运行,正常输出结果。
添加图片注释,不超过 140 字(可选)
但是第二种方法还是原来的报错。发现这种方式去执行python文件,实际上只是调用python.exe xxx.py在CMD窗口去执行,但是因为test.py文件中有import其他文件夹里面的py文件,从而导致了报错。
目前还没有发现有啥办法来设置,如果有的话,请帮忙提供,感谢先!
posted @ 2022-11-26 11:54  danvy617  阅读(972)  评论(0编辑  收藏  举报