遇見(jiàn)VScode
今天逛知乎的時(shí)候發(fā)現(xiàn)了這個(gè)編譯器,發(fā)現(xiàn)不僅支持各種語(yǔ)言的編寫(xiě),甚至還支持markdown的編寫(xiě)。
分分鐘搭建好環(huán)境,把原來(lái)的python項(xiàng)目移植了過(guò)去,準(zhǔn)備大干一場(chǎng)。
剛開(kāi)始都沒(méi)用問(wèn)題,然后在我調(diào)試單個(gè)模塊的時(shí)候。
它提示我,ImportError: No module named XXX.
根據(jù)我多年的編程經(jīng)驗(yàn),一般出現(xiàn)這個(gè)問(wèn)題都是編譯器的配置問(wèn)題,比如工作路徑?jīng)]有添加進(jìn)去。
于是我就上百度查了很久,都沒(méi)有找到解決方法,甚至發(fā)現(xiàn)了國(guó)外也有小伙伴遇到了這個(gè)問(wèn)題。
然后機(jī)智的我,打開(kāi)谷歌搜索,發(fā)現(xiàn)了這么兩個(gè)BUG編號(hào)。
https://github.com/DonJayamanne/pythonVSCode/issues/543

VScodePython的作者說(shuō)他修復(fù)了這個(gè)問(wèn)題,可是還是存在。
https://github.com/DonJayamanne/pythonVSCode/issues/826

過(guò)去了很久,這個(gè)BUG依然還在,沒(méi)用修復(fù)。
這個(gè)時(shí)候大家相比知道了,這個(gè)問(wèn)題不是我們的設(shè)置問(wèn)題,而是VScodePython的一個(gè)BUG。
那么這么解決呢?

有小伙伴告訴了VScodePython的作者,應(yīng)該這樣子解決。
尷尬啊。
解決方法
在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"
]
},
感悟
有時(shí)候真的不是自己的問(wèn)題,可能就是工具有BUG!真坑??!還好是開(kāi)源項(xiàng)目!