首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(False)在Visual代码中使用全局PyLint导入错误警告

(False)在Visual代码中使用全局PyLint导入错误警告
EN

Stack Overflow用户
提问于 2021-12-26 16:37:28
回答 2查看 591关注 0票数 1

我使用代码在Python中进行编码。在我的python文件中,我声明了以下导入:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

我创建了一个虚拟环境,在虚拟环境中安装了所有必要的带有pip install的包,并且python脚本运行良好。

在Visual中,我修改了设置以使用安装在全局级别上的PyLint (意味着默认的python解释器),因此我不需要在虚拟环境中安装pylint以避免它出现在我的requirements.txt中。我的.vscode/settings.json看起来是这样的:

代码语言:javascript
复制
{
    "python.pythonPath": "/Users/pazifik/.virtualenvs/fun-image-scraper/bin/python",
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.linting.pylintPath": "/opt/homebrew/bin/pylint"
}

Visual代码似乎正确地提取了Pylint,但是在"Problems“视图中它显示如下:

代码语言:javascript
复制
Unable to import 'requests' pylint(importError) [3, 1]
Unable to import 'bs4' pylint(importError) [4, 1]

原因可能是全局安装的PyLint看不到虚拟环境中的包。Visual代码中选择的Python解释器是来自虚拟环境的Python解释器。

如何处理代码中的这些(假)导入错误?

编辑:为了更好地可视化我的问题和设置,这里有一些截图:

虚拟环境中已安装软件包的pip列表

虚拟环境下requests包的pip显示

“问题”视图(但是!正如前面提到的,脚本运行得很好,只是显示的错误让人困惑,因此我提出了一个问题)

PyLint安装在带有默认解释器的全局环境中

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-28 06:27:44

很抱歉我以前的答案,我已经修改了pylintArgs,所以我还没有发现问题。

您可以在settings.json中添加以下内容:

代码语言:javascript
复制
"python.envFile": "${workspaceFolder}/.env",

并在工作区文件夹下创建一个名为.env的文件,并将其添加到其中:

代码语言:javascript
复制
PYTHONPATH=/Users/pazifik/.virtualenvs/fun-image-scraper/lib/python3.9/site-packages

解释:

虽然您已经在VSCode中选择了虚拟环境,并且可以在终端中发现PYTHONPATH已经被修改,但是pylint没有通过终端进行路由,所以不会得到修改的PYTHONPATH

当使用终端设置时,PYTHONPATH会影响用户在终端内运行的任何工具,以及扩展对通过终端路由的用户执行的任何操作,如调试。但是,在这种情况下,当扩展执行未通过终端路由的操作时,例如使用linter或格式化程序时,此设置将不会对模块查找产生影响。 当使用.env文件设置PYTHONPATH时,它将影响扩展名代表您执行的任何操作和调试器执行的操作,但不会影响终端中运行的工具。

您可以参考官方文件

票数 1
EN

Stack Overflow用户

发布于 2021-12-27 06:03:53

对不起,但它在我的电脑上很好用。您能否再次确认您选择了哪个python解释器,以及您在哪里安装了python包?

您可以从VSCode的左下角或终端中的环境名称中获得您使用过的python解释器:

python.pythonPath在settings.json中的设置不能确定您使用的是哪个python解释器。

也许您只是在不同的环境中安装了这些包,您是否可以使用pip show {packagename}命令来检查软件包的安装位置?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70488092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档