遇见VScode
今天逛知乎的时候发现了这个编译器,发现不仅支持各种语言的编写,甚至还支持markdown的编写。
分分钟搭建好环境,把原来的python项目移植了过去,准备大干一场。
刚开始都没用问题,然后在我调试单个模块的时候。
它提示我,ImportError: No module named XXX.
根据我多年的编程经验,一般出现这个问题都是编译器的配置问题,比如工作路径没有添加进去。
于是我就上百度查了很久,都没有找到解决方法,甚至发现了国外也有小伙伴遇到了这个问题。
然后机智的我,打开谷歌搜索,发现了这么两个BUG编号。
https://github.com/DonJayamanne/pythonVSCode/issues/543
VScodePython的作者说他修复了这个问题,可是还是存在。
https://github.com/DonJayamanne/pythonVSCode/issues/826
过去了很久,这个BUG依然还在,没用修复。
这个时候大家相比知道了,这个问题不是我们的设置问题,而是VScodePython的一个BUG。
那么这么解决呢?
有小伙伴告诉了VScodePython的作者,应该这样子解决。
尴尬啊。
解决方法
在lauch.json中,修改 "env": {}为 "env": {"PYTHONPATH":"${workspaceRoot}"}
完整的代码如下:
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",
"env": {"PYTHONPATH":"${workspaceRoot}"},
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
},
感悟
有时候真的不是自己的问题,可能就是工具有BUG!真坑啊!还好是开源项目!