我开始在 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
代码,我可以通过 export PYTHONPATH=../../lib; python EDAMTest.py
位于文件夹 project_root/sample/client/
中。
现在,如果我在 VS Code 中,打开文件 EDAMTest.py
,pylint
告诉我它无法从 lib
导入模块.
现在我的问题:
如何在 VS Code 中将 lib
添加到 PYTHONPATH
?
我找到了几种可行的方法:
- 创建一个
.env
文件(参见下面的 [1])。 - 在
.vscode/launch.json
文件中指定PYTHONPATH
(见[2])
我发现的所有可能的解决方案似乎都行不通。
我错过了什么?
[1] Environment variable definitions file
这告诉我如何定义全局(env)变量。所以我指定了这个:
PYTHONPATH="~/.virtualenvs/evernote/bin/python;lib"
但它不会起作用。 pylint
lib
的路径
[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"
}
}
---
编辑
这是一个试图解决这个问题的链接:
该链接试图解决几个可能的问题,其中一个是:
... unable to import
建议的解决方案是:
Ensure that the
pythonPath
setting points to a valid Python installation where Pylint is installed.
=> 是的,我做到了。
Alternately, set the
python.linting.pylintPath
to an appropriate version of Pylint for the Python interpreter being used.
=> 我做了,还是没有成功:
我的.vscode/settings.json
:
{
"python.pythonPath": "~/.virtualenvs/evernote/bin/python",
"python.linting.pylintPath": "~/.virtualenvs/evernote/bin/pylint"
}
最佳答案
看来我不得不在 .env
文件中使用冒号而不是分号,如下所示:PYTHONPATH="~/.virtualenvs/evernote/bin/python:lib"
。这似乎解决了问题。
关于python - VS代码-pyinter找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52080291/