【问题标题】:VS Code - pylinter cannot find moduleVS Code - pylinter 找不到模块
【发布时间】:2018-08-29 14:43:54
【问题描述】:

我开始在 Mac 上使用 VS Code 进行 Python 开发,但无法让 pylint 找到模块。

这是我的项目文件夹结构:

project_root/
   .env
   .vscode/
       settings.json
   lib/
       # lib containing necessary modules
   sample/
       client/
           EDAMTest.py
   # many more files

我使用安装了pylint 的virtualenv。虚拟环境在终端中被激活。我通过终端中的code .project_root 文件夹中启动code

VS Code 说它使用了正确的解释器。我可以在左下角看到Python 3.6.1 (virtualenv)

如果我想在终端中测试project_root/sample/client/EDAMTest.py 代码,我可以在文件夹project_root/sample/client/ 中通过export PYTHONPATH=../../lib; python EDAMTest.py 进行测试。

现在如果我在 VS Code 中,打开文件 EDAMTest.pypylint 告诉我它无法从 lib 导入模块。

现在我的问题:

如何在 VS Code 中将lib 添加到PYTHONPATH

我找到了几种可能的方法:

  1. 创建一个.env 文件(参见下面的[1])。
  2. .vscode/launch.json 文件中指定PYTHONPATH(参见[2])

我找到的所有可能的解决方案似乎都不起作用。

我错过了什么?


[1]Environment variable definitions file

这告诉我如何定义全局 (env) 变量。所以我指定了这个:

PYTHONPATH="~/.virtualenvs/evernote/bin/python;lib"

但这行不通。仍然libs 路径没有被pylint找到


[2] 所以我确实创建了一个launch.json 文件,如下所示:

{
    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": false,
    "pythonPath": "${config.python.pythonPath}",
    "program": "${file}",
    "cwd": "${workspaceRoot}",
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "RedirectOutput"
    ],
    "env": {
        "PYTHONPATH": "~/.virtualenvs/evernote/bin/python:lib"
    }
}

---

编辑

这是一个试图解决这个问题的链接:

Troubleshooting linting

该链接试图解决几个可能的问题,其中一个是:

...无法导入

建议的解决方案是:

确保pythonPath 设置指向安装了 Pylint 的有效 Python 安装。

=> 是的,我做到了。

或者,将python.linting.pylintPath 设置为适用于正在使用的 Python 解释器的 Pylint 版本。

=> 我做了,还是没有成功:

我的.vscode/settings.json

{
    "python.pythonPath": "~/.virtualenvs/evernote/bin/python",
    "python.linting.pylintPath": "~/.virtualenvs/evernote/bin/pylint"
}

【问题讨论】:

    标签: python visual-studio-code vscode-settings


    【解决方案1】:

    似乎我不得不在.env 文件中使用冒号而不是分号,如下所示:PYTHONPATH="~/.virtualenvs/evernote/bin/python:lib"。这似乎解决了问题。

    【讨论】:

    • “python.pythonPath”设置用什么?如果我没有设置,VScode 将使用不同的 python 安装(当你有多个时)。但是导入现在可以了,谢谢!
    猜你喜欢
    • 2019-08-08
    • 2015-10-11
    • 2018-09-23
    • 1970-01-01
    • 2018-05-31
    • 2021-05-06
    • 1970-01-01
    • 2022-11-20
    • 2022-08-04
    相关资源
    最近更新 更多