如何设置Visual Studio Code Python Extension的根目录?

时间:2018-04-29 17:39:33

标签: python visual-studio-code

使用VSCode Python Extension($.each(json1.EstablishmentCollection.EstablishmentDetail, function(key, data) { var coords = data.Geocode; //look in browser console for errors and/or proper lat/lng object console.log(coords) var latLng = new google.maps.LatLng(+coords.Latitude, +coords.Longitude); // Creating a marker and putting it on the map var marker = new google.maps.Marker({ position: latLng, title: data.BusinessName }); marker.setMap(map); }); )运行和调试我的项目没有问题,但由于python子项目根目录不是整个项目目录,因此所有来自我的源的导入都用红色加下划线并且列在ms-python.python中,因此problems列出了一些相似的功能,但这些功能无法正常运行。 如何告诉IDE哪里是我项目的起点:

Go to definition

Whole Project path: docs server entities user.py customer.py env viewer db 目录是导入路径的起始位置:

server

4 个答案:

答案 0 :(得分:11)

您可以使用以下命令创建.env文件: PYTHONPATH=server 这会根据需要将server文件夹添加到PYTHONPATH

答案 1 :(得分:7)

如果您使用Pylance扩展名,则可以通过python.analysis.extraPaths选项设置源文件夹。默认情况下,它还会查找常见的源文件夹名称,例如src,此选项称为python.analysis.autoSearchPaths

转到“文件”>“首选项”>“设置”,搜索pythonpath。在“ Pylance”选项下,您应该会看到 Extra Paths ,这是您设置源文件夹的位置。

答案 2 :(得分:1)

PYTHONPATHPython interpreter的路径,而不是工作目录。

更好的方法是自定义Settings.jsonlaunch.json,如下所示:

// vi .vscode/Settings.json
{
    "python.pythonPath": "venv/bin/python",
}

使用cwd指定调试器的当前工作目录,该目录是代码中使用的任何相对路径的基本文件夹。如果省略,则默认为${workspaceFolder}(以VS Code打开的文件夹)。

// vi .vscode/launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: your project name",
            "type": "python",
            "request": "launch",
            "cwd": "${workspaceRoot}/server",
        }
    ]
}

引用:https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations

引用:https://code.visualstudio.com/docs/python/debugging#python-articles

答案 3 :(得分:1)

如上所述,设置PYTHONPATH使其起作用。我使用以下.env内容,使其适用于任何项目:

PYTHONPATH=${PROJ_DIR}:${PYTHONPATH}

当您在运行/调试配置中选中“向PYTHONPATH添加内容根目录”时,这实际上就是PyCharm所做的。这是一个很有用的设置,但会因为您的代码在PyCharm之外失败而使您烦恼。

或者,如果您在终端中运行,请先导出:

export PYTHONPATH=...