首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pylint - Pylint无法导入flask.ext.wtf?

Pylint - Pylint无法导入flask.ext.wtf?
EN

Stack Overflow用户
提问于 2013-04-17 21:34:07
回答 3查看 6.5K关注 0票数 17

我已经很好地安装了Pylint导入烧瓶。使用相同的flask安装,我可以在我的应用程序中运行wtforms。但是,当我在导入wtforms的文件上运行Pylint时:

代码语言:javascript
复制
from flask.ext import wtf
from flask.ext.wtf import validators

class PostForm(wtf.Form):
    content = wtf.TextAreaField('Content', validators=[validators.Required()])

从Pylint我得到:

代码语言:javascript
复制
E:  1,0: No name 'wtf' in module 'flask.ext'
E:  2,0: No name 'wtf' in module 'flask.ext'
F:  2,0: Unable to import 'flask.ext.wtf'

当我在周围搜索时,我发现this discussion暗示这可能是因为flask.ext库实际上只是通向库的“捷径”。

你知道我该怎么解决这个问题吗?非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-17 22:41:06

因此,flask.ext实际上是由Armin以一种令人敬畏的方式编写的自定义导入器。它允许人们在单独的包中安装扩展,但以一种一致的方式导入它们。(实际上,你应该去读一下它的代码。这太棒了。)也就是说,pylint显然不欣赏它的优雅(在我看来,这实际上是一个bug ),但你很幸运。解决这个问题的简单方法是执行以下操作

代码语言:javascript
复制
import flask_wtf as wtf
# The above is the equivalent line as:
# from flask.ext import wtf
from flask_wtf import validators
# This is the same as:
# from flask.ext.wtf import validators

这应该会让pylint感到高兴。它没有使用flask.ext那么好,但你必须选择关闭pylint或使用优雅的代码,但你不能(现在)两者兼而有之。

票数 26
EN

Stack Overflow用户

发布于 2015-06-29 06:17:33

被这个bug困扰了一段时间后,我创建了一个pylint插件来解决这个问题。代码在https://github.com/jschaf/pylint-flask

要使pylint能够“查看”flask.ext模块,请执行以下操作:

  1. pip install pylint-flask
  2. run pylint --load-plugins=pylint_flask <your module>
票数 7
EN

Stack Overflow用户

发布于 2016-12-07 19:54:50

使用flask_<>而不是flask.ext.<>

不使用"from flask.ext.wtf import validators“,而使用"from flask_wtf import validators

邮件和消息模块也面临同样的问题。Had必须使用"from flask_mail import Message,Mail“代替"from flask.ext.mail import Message,Mail”

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

https://stackoverflow.com/questions/16061514

复制
相关文章

相似问题

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