如何在 VS Code 中为自定义模块设置导入?

我正在尝试将我的(工作/可执行)项目从 PyCharm 带到 VS Code。我的文件夹结构如下所示(简化):


root

|- .venv

|- src

 |- helper

 |- windows

  |- main

   |- __init__.py

   |- main_window.py

 |- __init__.py

我正在尝试执行 src/__init__.py 文件,该文件具有以下代码:


from PyQt5.QtWidgets import QApplication

from src.windows.main import MainWindow

import sys



if __name__ == '__main__':

    app = QApplication(sys.argv)

    w = MainWindow()

    sys.exit(app.exec_())

这在 PyCharm 中完美运行,但 VS Code 给了我以下错误:


ModuleNotFoundError: No module named 'src'

我尝试了许多来自互联网的解决方案(Stack Overflow 和官方 VS Code 文档),包括修改 settings.json 和 launch.json。目前我的 JSON 看起来像这样:


启动.json:


{

    "version": "0.2.0",

    "configurations": [

        {

            "name": "Python: Current File",

            "type": "python",

            "request": "launch",

            "program": "${file}",

            "console": "integratedTerminal",

            "pythonPath": "${config:python.pythonPath}",

            "env": {

                "PYTHONPATH": "${workspaceFolder}\\src"

            }

        }

    ]

}

settings.json(用户):


{

    "workbench.iconTheme": "Monokai Classic Icons",

    "editor.fontSize": 16,

    "editor.letterSpacing": 1,

    "editor.lineHeight": 27,

    "editor.fontFamily": "'Roboto Mono', monospace",

    "editor.fontWeight": "300",

    "workbench.colorTheme": "Monokai Classic",

    "window.zoomLevel": 0,

    "terminal.integrated.fontFamily": "'Inconsolata', monospace",

    "terminal.integrated.fontSize": 18,

    "python.autoComplete.addBrackets": true,

    "bracket-pair-colorizer-2.colors": [

        "White"

    ]

}

settings.json(工作区):


{

    "python.pythonPath": "c:\\Users\\username\\PycharmProjects\\Snake_It_Off\\.venv\\Scripts\\python.exe",

    "python.linting.pylintEnabled": false,

    "python.linting.enabled": true,

    "python.linting.pycodestyleEnabled": true

}

但是,我仍然收到错误消息。这是 VS 代码问题吗?在 PyCharm 中,我可以只将几个文件夹标记为源(它会自动检测到任何包含 __init__.py 作为模块的文件夹)。如何正确设置项目以使其能够运行?


沧海一幻觉
浏览 279回答 1
1回答

月关宝盒

我终于设法解决了我的问题。我不得不将我的主要可执行文件 src/__init__.py 移到 src 文件夹之外,因为从包中执行脚本可能会导致问题。另一个重要步骤是通过运行以下代码仔细检查我的 PYTHONPATH 设置是否正确:import sysprint(sys.path)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python