我正在Windows 10中使用VSCode作为我的Python IDE。我将wsl.exe用作VSCode中的终端。对于每个项目,我都创建一个单独的venv(在wsl.exe中),并使用pip安装所有python模块/软件包依赖项。要运行python代码(在venv内部)并进入和退出venv,我使用wsl.exe终端。
在我的系统中,我有来自我的Ubuntu WSL的python 3.6.7。 VSCode python解释器是3.7.1。问题是,尽管程序运行正常,但VSCode中的pylint找不到导入。在每个venv中都使用pip安装了Pylint。
必须有一些设置来告诉pylint从venv而不是从本地VSCode python解释器目标位置查找导入。
我尝试设置"python.venvPath": "C:\\User\\username\\Desktop\\Python\\venvname"
,但是没有运气。我的venvs使用的是Linux pyhton,而我的VSCode使用的是Windows版本,这可能是一个问题吗?
我还尝试创建特定于工作区的pylint文件,并添加了#init-hook='import sys; sys.path.append("C:\Users\username\Desktop\Python\venv\lib\python3.6")'
,尽管它消除了我掉线的错误,因为现在我可以编写乱码了。
尽管它不会使VSCode不可用,但导入时的红线确实很烦人。
谢谢大家。
答案 0 :(得分:0)
一种可能性是通过添加以下内容来修改您的settings.py
(当前项目的工作区设置):
"python.pythonPath": "C:\\path\\to\\venvpath\\your-venv\\python"
您还必须添加
"python.linting.pylintPath": "C:\\path\\to\\venvpath\\your-venv\\pylint"
以及您的工作区设置。可能有必要将.exe
附加到可执行文件中(不确定,因为我在Linux上)。
如果这不起作用,建议您切换到用于创建虚拟环境的Python 3.6.7。但是3.7.1应该可以工作。
答案 1 :(得分:0)
确保您已在您的 venv 中安装了 linter(例如 pylint),通常通过运行 pip install pylint
(同时您的 venv 被激活)
如果您已经设置了虚拟环境,您的工作区应该包含一个 .vscode 文件夹。如果没有,创建一个...
在您的 .vscode
文件夹中,打开(或创建)settings.json
文件:
该文件应包含类似于:
{
...
"python.pythonPath": "/path-to-venv's-top-folder/bin/python3",
"python.linting.pylintPath": "/path-to-venv's-top-folder/bin/pylint",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true
}
[这是为了防止您使用 pylint]