簡體   English   中英

在具有活動 virtualenv 的 python 模塊上使用 vscode 調試器,在 launch.json 中顯示“配置文件中的 python 路徑無效”

[英]Using vscode debugger on python module with active virtualenv, "the python path in your configuration file is invalid" in launch.json

我想在 vscode 中調試一個 python 模塊,以節省時間並幫助我弄清楚代碼是怎么回事。 但是我遇到了兩個問題(我將更多地關注這篇文章的第一個問題),它們似乎與我沒有正確使用 launch.json 有關,我想知道出了什么問題。 我在 Mac 上工作。

我的模塊稱為__main__ 它的完整絕對路徑是~/Code/APPRES-483/cqs/update-query-definition/__main__.py__main__.py是一個腳本,但似乎該模塊也被稱為__main__ )。 我正在使用的~/Code/APPRES-483/venv-cqs/有一個 virtualenv。 我在~/Code/APPRES-483/cqs/update-query-definition/中打開了一個 VSCode window 。

現在我的launch.json文件看起來像這樣。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Module",
            // "python":"~/Code/APPRES-483/venv-cqs/bin/python",
            "type": "python",
            "request": "launch",
            "module": "__main__",
            "pythonArgs":[
                "-v",
                "--file-to-write", "~/Code/APPRES-483/LOCAL-query-definition.yml"
            ],
        },

    ]
}

第一個問題是我實際上無法在 launch.json 中設置 python 解釋器路徑。 我在 VSCode 中激活了我的 virtualenv(即我看到了我打算看到的 venv-cqs 的前綴)。

如果我打開一個終端並放置~/Code/APPRES-483/venv-cqs/bin/python ,這會正確打開 python 終端/venv-cqs/bin 內的可執行文件。 如果我添加像"python":"~/Code/APPRES-483/venv-cqs/bin/python"這樣的行,我會收到消息說“調試配置中的 python 路徑無效。”

我嘗試按照https://stackoverflow.com/a/66885651/6432861說明使用 Python: Select 解釋器命令。 我有一些奇怪的行為。

  • 如果我嘗試瀏覽 finder/files 以在 venv-cqs/bin/ 中找到 python 可執行文件,一旦我雙擊該文件,它實際上並沒有進入 python vs 代碼解釋器。 如果我 hover 我的鼠標在左下角,我仍然會在 /usr/local/bin 或任何地方看到我默認的 python 安裝地址。

  • 但是,如果我復制並粘貼~/Code/APPRES-483/venv-cqs/bin/python而不是嘗試瀏覽文件,那將成功更改 python 解釋器,我可以在屏幕左下方看到它。

顯示正確 python 解釋器的 vs 代碼

代碼避免這些錯誤的唯一方法是,如果我在 launch.json 的配置中沒有 python 字段。 我知道事情不應該如此...我想知道出了什么問題。

我遇到的第二個問題是 pythonArgs。 但我會嘗試再寫一篇關於它的帖子,因為這已經足夠長了。

首先,您可以設置

 "python.defaultInterpreterPath": "~/Code/APPRES-483/venv-cqs/bin/python",

User Settings.json中指定 python 解釋器。 如果它不起作用並且 VS Code 仍然在左下角顯示默認 python 安裝為 python 解釋器,刪除用戶數據文件夾$HOME/Library/Application Support/Code.~/.vscode可以重置 VS Code。

其次,設置python默認為您的工作區選擇的解釋器,因此一旦您選擇venv-cqs作為 python 解釋器,調試將默認使用它,如果您堅持這樣做,請設置

"python": "${command:python.interpreterPath}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM