Visual Studio代码 - 如何向python路径添加多个路径?

时间:2017-01-04 19:14:17

标签: python visual-studio-code

我正在尝试使用Visual Studio Code,到目前为止,它似乎很棒(轻便,快速等)。

我正在尝试运行一个使用虚拟环境的Python应用程序,但也使用不在我的虚拟环境的site-package中的库。

我知道在settings.json中,我可以指定python.pythonPath设置,我已经完成并指向虚拟环境。

我也知道我可以添加python.autoComplete.extraPaths的其他路径,到目前为止我添加了外部库。问题是,当我调试时,它失败了,因为它没有找到python.autoComplete.extraPaths中指定的库。

是否还有其他必须使用的设置?

由于

7 个答案:

答案 0 :(得分:14)

这对我有用: -

在您的launch.json个人资料条目中

,指定一个名为“env”的新条目,并自行设置PYTHONPATH。

"configurations": [
    {
        "name": "Python",
        "type": "python",
        "request": "launch",
        "stopOnEntry": false,
        "pythonPath": "${config.python.pythonPath}",
        "program": "${file}",
        "cwd": "${workspaceRoot}",
        "debugOptions": [
            "WaitOnAbnormalExit",
            "WaitOnNormalExit",
            "RedirectOutput"
        ],
        "env": {
            "PYTHONPATH": "/path/a;path/b"
        }
    }
]

答案 1 :(得分:2)

VS Code中的Python扩展具有python.envFile的设置,该设置指定包含环境变量定义的文件的路径。默认情况下,它设置为:

"python.envFile": "${workspaceFolder}/.env"

因此,要将您的外部库添加到路径中,请在工作空间文件夹中创建一个名为 .env 的文件,如果使用Windows,则将以下行添加到其中:

PYTHONPATH="C:\path\to\a;C:\path\to\b"

在此处指定路径的优势在于,自动完成以及调试都可以使用此设置本身进行。您可能需要关闭然后重新打开VS Code才能使设置生效。

答案 2 :(得分:1)

我有同样的问题, malbs 回答对我来说不起作用,直到我将分号更改为冒号you can find it from ZhijiaCHEN's comments

"env": { "PYTHONPATH": "/path/to/a:/path/to/b" }

或者,我有一种黑客的方法来实现同样的目标:

# at the top of project app script:
import sys
sys.path.append('/path/to/a')
sys.path.append('/path/to/b')

答案 3 :(得分:0)

您可以将.pth文件添加到virtualenv的site-packages目录中。

对于要包含在PYTHONPATH中的每个模块或包,此文件的每行应具有一个absotute路径。

https://docs.python.org/2.7/install/index.html#modifying-python-s-search-path

答案 4 :(得分:0)

bash escamotage(与调试器和自动完成一起使用);需要在PATH中安装代码命令(vsc shell命令:install ...)

#!/bin/bash

#
# vscode python setup
#

function fvscode {
  # you just want one of this:
  export PYTHONPATH=<your python installation ../bin/python3>
  # you may want many of these:
  export PYTHONPATH=<your lib dir here>:$PYTHONPATH
  # launch vscode
  code 
}
alias vscode='fvscode'

通过输入&#39; vscode&#39;来启动VSC。

答案 5 :(得分:0)

根据environments docextension looks for environments的位置包括一些默认值以及工作空间python.venvPathsettings的设置值

例如:"python.venvPath": "~/.virtualenvs"

这使您可以找到上述的几个(例如:virtualenvs):

  

要选择特定的环境,请使用Python:选择解释器   命令面板中的命令

答案 6 :(得分:0)

基于https://github.com/microsoft/vscode-python/issues/12085,我将以下内容添加到工作区配置文件的settings部分中。我正在使用Linux。对于Windows,请使用terminal.integrated.env.windows

"terminal.integrated.env.linux": {
    "PYTHONPATH": "addl-path-entry1:addl-path-entry2"
}

我还添加了一个.env文件,如以上许多帖子/评论所述。

最后,我为PyLance添加了https://stackoverflow.com/a/64103291/11262633扩展名。

我还重新加载了工作区。

这两个更改使我可以使用调试器和“运行”菜单运行Python程序。 AutoComplete知道添加的路径,并且我的VSCode linter(默认的linter pylint,现在为pylance)现在可以使用。