在Windows中的VS代码中设置Python路径

2024-09-28 20:45:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Python中导入一些本地模块,同时使用VS代码作为编辑器。大概是这样的:

import folder1.subfolder2.program3

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

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

我尝试在环境变量中更改PythonPath,但这并没有解决问题。我知道我可以通过调试在VS代码中创建一个launch.json文件。我能把Python放在那里吗?我该怎么做

编辑:一些更新。我可以手动将PythonPath添加到如下文件:

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

这对于运行一个文件很好,但我经常有几十个相互连接的文件,不想在每一个文件中都添加这一行

我还尝试添加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文件时,这似乎并没有改变任何事情


Tags: 模块文件代码import路径jsonosetc
3条回答

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

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复制到您的文件路径,然后尝试使用import mymodule导入它。见下面的代码:

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

您需要告诉Python扩展,希望它在当前工作区之外查找代码。您可以添加一个^{} setting或创建一个^{} file并在那里设置PYTHONPATH

相关问题 更多 >