背景
在vscode剛剛裝好的時候,對於開發人員來說可能需要寫一些模塊的測試,而這個模塊可能又引用了其他模塊,
如果是同級目錄的話可能會出現 ModuleNotFoundError: No module named 錯誤
圖文件結構和代碼所示,ddd.py文件和ccc.py文件 分別在test1和test2目錄下,ccc.py文件需要調用ddd.py文件的函數。

原因:
在test2的ccc.py文件中執行print(sys.path) 查看路徑
['g:\\go_code\\first_demo\\test2',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\Pythonwin']
返回結果發現並無g:\\go_code\\first_demo\\ 的路徑,所以test2下面的文件引用不到test1下面的文件屬於正常
解決方案:
在setting.json文件中加入
1 "terminal.integrated.env.osx": { 2 "PYTHONPATH": "${workspaceFolder}/", 3 }, 4 "terminal.integrated.env.linux": { 5 "PYTHONPATH": "${workspaceFolder}/", 6 }, 7 "terminal.integrated.env.windows": { 8 "PYTHONPATH": "${workspaceFolder}/", 9 },

然后重啟vscode,再次test2的ccc.py文件中執行print(sys.path) 查看路徑
['g:\\go_code\\first_demo\\test2',
'G:\\go_code\\first_demo',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\win32\\lib',
'D:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\Pythonwin']
發現多了項目的源目錄路徑。
接着執行ccc.py模塊發現可以正常運行了。

參考文章:
https://www.qualityology.com/tech/marking-a-folder-as-sources-root-equivalent-in-visual-studio-code-for-python/
