vscode導入不同模塊下py文件報錯ModuleNotFoundError: No module named最有效解決辦法!?。?/h2>

之前一直用pycharm,確實好用,但是就是太吃內存,后來換vscode,發(fā)現安裝了一些插件之后,也非常好用,決定轉過去,但是執(zhí)行的時候,發(fā)現無法導入一個工程下其他文件夾里面的方法。總是提示no module named ***。

網上找了好多方法,都是行不同,后來找到一篇終于解決了。

首先明確一個問題:你是用vscode原生的跑,還是用code runner跑,這兩個地方的配置地方是不一樣的。

1、vscode原生執(zhí)行,也就是F5,修改地方為:
cmd+shift+p,選擇open user settings


image.png

加上這幾句

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

然后在debug里面create a json文件,加上這兩句

"env": {"PYTHONPATH":"${workspaceRoot}"},
"envFile": "${workspaceRoot}/.env",

保存,重啟,執(zhí)行F5,發(fā)現可以

2、code runner執(zhí)行,也就是ctrl+option+n
還是cmd+shift+p,選擇open user settings
加入

"code-runner.fileDirectoryAsCwd": true,
    "code-runner.executorMap": {
        "javascript": "node",
      "python": "set PYTHONIOENCODING=utf-8 && set PYTHONPATH=. && python -u",
      "go": "go run",
    },
    "code-runner.runInTerminal": true

保存,重啟,執(zhí)行,也可以了。
前面主要修改點就是在"python": "set PYTHONIOENCODING=utf-8 && python -u"里面加了set PYTHONPATH=.
set PYTHONIOENCODING=utf-8

原因說明:

首先我們要搞清楚 Python 解釋器查找模塊文件的過程。通常情況下,當使用 import 語句導入模塊后,Python 會按照以下順序查找指定的模塊文件:

  • 在當前目錄,即當前執(zhí)行的程序文件所在目錄下查找;
  • 到 PYTHONPATH(環(huán)境變量)下的每個目錄中查找;
  • 到 Python 默認的安裝目錄下查找。

以上所有涉及到的目錄,都保存在標準模塊 sys 的 sys.path 變量中,通過此變量我們可以看到指定程序文件支持查找的所有目錄。換句話說,如果要導入的模塊沒有存儲在 sys.path 顯示的目錄中,那么導入該模塊并運行程序時,Python 解釋器就會拋出 ModuleNotFoundError(未找到模塊)異常。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容