簡體   English   中英

如何為 Python 設置 VS Code 以正確啟動/調試單個文件,從而尊重相對導入?

[英]How do I set up VS Code for Python to correctly launch/debug individual files such that relative imports are respected?

我發現這個答案對於理解 Python 中的相對導入非常有用。 但是,我發現很難讓 VS Code 的“當前文件”很好地使用它,因為它直接使用 ${file} 啟動文件。

總結上述答案,假設我們有這樣的結構:

mymod/
    __init__.py
    apple.py
    orange.py

如果 orange.py 從 apple.py 導入一些東西:

from .apple import apple_function

那么在沒有 ImportError 的情況下將 orange.py 作為腳本運行的正確方法是使用包含 mymod 的目錄中的以下命令:

python -m mymod.orange

目前,我在終端中手動輸入與上述類似的命令,該命令有效,但我更喜歡使用無論文件名如何都可以使用的鍵盤快捷鍵,並且可以節省一些輸入。

有什么我可以添加到 launch.json 的配置,可以自動為每個特定文件啟動 python 嗎?

使用擴展命令變量中的命令extension.commandvariable.file.relativeDirDots

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Module",
      "type": "python",
      "request": "launch",
      "console": "integratedTerminal",
      "module": "${command:extension.commandvariable.file.relativeDirDots}.${fileBasenameNoExtension}",
    }
  ]
}

暫無
暫無

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

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