【问题标题】:Setting Python Path in VS Code in Windows在 Windows 的 VS Code 中设置 Python 路径
【发布时间】:2026-01-08 13:15:02
【问题描述】:

我正在尝试在 Python 中导入一些本地模块,同时使用 VS Code 作为我的编辑器。像这样的:

import folder1.subfolder2.program3

我们会说“folder1”位于“C:/folder1”

VS Code 无法识别这一点,我不断收到失败的导入语句。相反,它认为“C:/folder6”(例如)是路径。如何更改 VS Code 中的 Python 路径?

我尝试更改环境变量中的 PythonPath 并没有解决问题。我知道 VS Code 中有一个 launch.json 文件,我可以通过调试创建。我可以在那里设置 PythonPath 吗?我该怎么做?

编辑:一些更新。我可以手动将 PythonPath 添加到这样的文件中:

os.environ['PYTHONPATH'] += os.pathsep + "C:\\folder1\\etc"

这对于运行 1 个文件来说很好,但我经常有几十个相互关联的文件,并且不想将这一行添加到每个文件中。

我也尝试添加一个launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal", 
            "env": {
                "PYTHONPATH": "C://folder1//etc"
            }
        }
    ]
}

不过,当我从命令行运行 .py 文件时,这似乎并没有改变任何东西。

【问题讨论】:

    标签: python windows visual-studio-code pythonpath


    【解决方案1】:

    您需要告诉 Python 扩展您希望它在当前工作区之外查找代码。您可以添加"python.autoComplete.extraPaths" setting 或创建.env file 并在此处设置您的PYTHONPATH

    【讨论】:

    • 我同意。在项目下创建一个文件名'.env',输入:“PYTHONPATH=D:\workPlace\javatest;D:\workPlace\springboot”,你将添加两个“PYTHONPATH”变量。您可以参考code.visualstudio.com/docs/python/… 了解更多信息。而这个路径取决于默认设置“python.envFile”:“${workspaceFolder}/.env”。所以你可以修改它。
    【解决方案2】:

    我在这里可能是错的,但是在 vs code 上,左下角有一个 python 按钮,可以让我更改 python 路径。按钮显示 python3.8.1... 我只编写 python 代码,所以你可能需要打开一个 .py 文件或类似的东西。

    【讨论】:

      【解决方案3】:

      VS Code 仅搜索状态栏中的 python 路径 (PYTHON_PATH/lib/*) 和您正在工作的文件目录,而不是其他任何地方(我找不到任何要更改的设置这条路)。 VS Code Statusbar

      (所以我建议把你的包放在 PYTHON_PATH/lib 中)

      你说的这件事(folder1.folder2/mypackage)只有在你把__init__.py放在每个目录中时才有可能

      如果你把你的文件夹放在你的文件目录中,你的工作目录的树应该是这样的:

      cwd
      |____ __init__.py
      |____ folder1
            |____ __init__.py
            |____ subfolder2
                  |____ __init__.py
                  |____ program1.py
      
      

      在这种情况下,我想我会这样做:

      您可以将C:/folder1/folder2/mymodule.py 复制到您的file_path,然后尝试使用import mymodule 导入它。见以下代码:

      import rx7
      rx7.files.copy('C:/folder1/folder2/mymodule.py', 'mymodule.py')
      import mymodule
      

      【讨论】:

      • 是的,我为每个文件夹使用了 init.py。我应该指定的。
      • 啊哈没关系。但正如我所说,没有设置这个,原因是当你想执行你的脚本时,它只从 python_path 和 file_path 导入模块,所以 VS Code 不会将此功能添加到应用程序