我开始在Mac上使用VS Code进行Python开发,但pylint
找不到模块。
这是我的项目文件夹结构:
project_root/
.env
.vscode/
settings.json
lib/
# lib containing necessary modules
sample/
client/
EDAMTest.py
# many more files
我使用已安装的virtualenv pylint
。虚拟环境在终端中被激活。我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
。
现在我的问题是:
我如何添加lib
到PYTHONPATH
在VS代码?
我发现了几种可能的方法:
.env
文件(请参阅下面的[1])。PYTHONPATH
在.vscode/launch.json
文件中指定(请参阅[2])我发现似乎没有可行的解决方案。
我想念什么?
[1] 环境变量定义文件
这告诉我如何定义全局(env)变量。所以我指定了这个:
PYTHONPATH="~/.virtualenvs/evernote/bin/python;lib"
但这是行不通的。不过lib
小号路径没有被发现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"
}
}
编辑
这是一个尝试解决此问题的链接:
该链接试图解决几个可能的问题,其中一个是:
...无法导入
建议的解决方案是:
确保
pythonPath
设置指向安装了Pylint的有效Python安装。
=>是的,我做到了。
或者,将设置
python.linting.pylintPath
为适用于正在使用的Python解释器的Pylint版本。
=>我做到了,仍然没有成功:
我的.vscode/settings.json
:
{
"python.pythonPath": "~/.virtualenvs/evernote/bin/python",
"python.linting.pylintPath": "~/.virtualenvs/evernote/bin/pylint"
}
似乎我必须在.env
文件中使用冒号而不是分号,如下所示:PYTHONPATH="~/.virtualenvs/evernote/bin/python:lib"
。那似乎解决了问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句