【问题标题】:ImportError: No module named flask_wtfImportError:没有名为 flask_wtf 的模块
【发布时间】:2017-10-22 18:24:30
【问题描述】:

我收到了错误,ImportError: No module named flask_wtf。我尝试了所有可能的解决方案。我使用 -

安装了 flask-wrf

$ flask/bin/pip install flask-wtf

Requirement already satisfied: flask-wtf in ./flask/lib/python2.7/site-packages
Requirement already satisfied: WTForms in ./flask/lib/python2.7/site-packages.

请帮我解决这个问题。

我正在分享显示错误的代码:

from flask_wtf import Form 
from wtforms import StringField, BooleanField
from wtforms.validators import DataRequired
    
class LoginForm(Form):
    openid = StringField('openid', validators=[DataRequired()])
    remember_me = BooleanField('remember_me', default=False)

【问题讨论】:

  • 你在使用 virtualenv 吗?您是否可能在全局而不是在 virtualenv 中安装flask_wtf?另外我认为你需要from flask_wtf import FlaskForm 但这不会给你一个模块错误
  • 你能分享完整的 Traceback 日志吗?
  • 试试from flask.ext.wtf import Form
  • 是的,我正在使用 virtualenv,我也尝试过 from flask_wtf import FlaskForm,我什至还尝试过 from flask.ext.wtf import Form跨度>
  • @Tiny.D Traceback(最近一次调用最后一次):文件“run.py”,第 1 行,在 从应用程序导入应用程序文件“/home/kanishka/projects/microblog/app /__init__.py”,第 6 行,在 中从应用程序导入视图文件“/home/kanishka/projects/microblog/app/views.py”,第 3 行,在 中从 .forms import LoginForm 文件“/ home/kanishka/projects/microblog/app/forms.py",第 1 行,在 from flask_wtf import Form ImportError: No module named flask_wtf

标签: python flask flask-wtforms


【解决方案1】:

我也有同样的问题。但是安装 Flask-WTF

pip install flask-wtf

我能够解决这个问题。

【讨论】:

    【解决方案2】:

    确保运行虚拟环境的 python 而不是全局 python。我通过执行在我的 Windows 环境中解决了这个问题:

    \inetpub\projectFolder\scripts\python.exe run.py
    

    而不仅仅是

    python run.py
    

    此外,请确保您已将模块安装到虚拟环境中,而不是全局安装。检查模块是否正确存在 - 再次在我检查文件的窗口下:

    \inetpub\projectFolder\lib\site-packages\wtforms 
    

    【讨论】:

      【解决方案3】:

      这肯定是虚拟环境的问题。当我的虚拟环境处于活动状态时,我遇到了同样的问题并设法消除了 sudo pip install Flask-WTF 的错误。

      然而,这个解决方案让我进入另一个包 (email_validator) 导入错误,尽管我确信一切都已按应有的方式安装。现在,我决定运行整个应用程序,而不是从终端运行 flask run,方法是在我的应用程序目录中输入 python3 application.py,其中 application.py 是我的烧瓶应用程序。

      以这种运行应用程序的方式,我根本没有遇到任何错误。如果您想像我一样运行您的应用,请务必在应用底部设置以下条件:

      if __name__ == '__main__':
          app.run(debug=True)
      

      (这将在调试模式下运行您的应用程序。)

      我是初级开发人员。如果有经验的人解释一下这背后的逻辑,那就太好了。

      编辑: 一旦我像这样运行我的应用程序,突然之间我可以再次使用flask run 运行它,而不会出现任何错误。很有趣。

      【讨论】:

      • 只想用我的经验回应@pawelduzy。在flask run 之后运行python app.py 似乎解决了我的ImportError。不确定原因出在哪里,但万一这可能对某人有帮助。
      • 我尝试了所有其他解决方案,但运行 python app_name.py 是唯一为我清除错误的解决方案。
      【解决方案4】:

      使用 pip 安装 Flask-WTF 很简单:

      pip install Flask-WTF
      

      【讨论】:

      • 这对最佳答案没有任何帮助
      【解决方案5】:

      我从 flask_wtf 进行了简单的安装,它的工作如下命令

      pip install Flask-WTF

      请访问此链接了解更多信息 https://flask-wtf.readthedocs.io/en/stable/install.html

      【讨论】:

        【解决方案6】:

        在我的情况下,它在之后我使用 pip3 而不是 pip 安装它。我没有深入了解它有什么不同,但我正在认真考虑在我的 venv 中将 pip 链接到 pip3。

        【讨论】:

          【解决方案7】:

          我也遇到了同样的问题。我的问题是 Flask 是全局安装的,所以 flask run 调用了无法识别本地包的全局包(可能是因为对 python 的全局调用称为 python2,而我的 env 设置为 python3)。我通过全局卸载 Flask 并仅在虚拟环境中安装它来解决它。

          【讨论】:

            【解决方案8】:

            我遇到了同样的问题 使用以下解决它

            conda install -c wakari flask-wtf
            

            【讨论】:

              【解决方案9】:

              请注意,如果您使用 Anaconda 的 python 来运行您的应用程序,那么您必须在 Anaconda 提示符下而不是在一般命令提示符下输入 pip install flask-wtf。当我遇到这个问题时,这对我有帮助。希望这会有所帮助!

              【讨论】:

                【解决方案10】:

                您可以使用此命令在 conda 中安装 flask_wtf

                conda install -c anaconda flask-wtf
                

                由于您的问题是由于 virtualenv 引起的,因此在 conda 上安装它可以解决问题。它确实对我有用。

                【讨论】:

                  【解决方案11】:

                  在我的情况下,它是python版本,我尝试了上述所有提议,我将python版本从3更改为2,并且它工作得很好。

                  python2 app.py
                  

                  【讨论】:

                    【解决方案12】:

                    扩展@pawelduzy's answer 添加app.run(debug=True) 解决了我的虚拟环境中的相同问题,其中已经通过pip install flask-wtf 安装了Flask-WTF 扩展。

                    这是我的'__init__.py'文件的内容

                    from flask import Flask
                    from config import Config
                    
                    app = Flask(__name__)
                    app.config.from_object(Config)
                    app.run(debug=True)
                    
                    from app import routes
                    

                    或者,您可以将app.run(debug=True) 语句插入到启动主应用程序的.py 文件中

                    from app import app
                    app.run(debug=True)
                    

                    但请注意 Flask 文档中提到的内容,即 "Debugging Application Errors"

                    在为生产配置应用程序时遇到问题?如果 您可以通过 shell 访问您的主机,验证您是否可以运行您的主机 在部署环境中从 shell 手动应用程序。是 确保在与配置的部署相同的用户帐户下运行 解决权限问题。你可以使用 Flask 的内置 在您的生产主机上使用debug=True 的开发服务器,即 有助于发现配置问题,但请务必这样做 暂时在受控环境中。 不要在生产环境中运行 debug=True.

                    【讨论】:

                      【解决方案13】:

                      有同样的错误“ModuleNotFoundError: No module named 'flask_wtf'”。 这对我有用:

                      1. 打开 Anaconda - 在 Anaconda 终端中使用此命令安装 flask_wtf:

                        conda install -c anaconda flask-wtf
                        
                      2. 在 Pycharm 中转到首选项/项目/python 解释器。点击左下角的“+”按钮,搜索“flask-wtf”,然后安装包。

                      如果没有第一步,第二步是不可能的,因为flask-wtf 没有出现在可用软件包列表中。

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 2019-07-30
                        • 2013-03-11
                        • 2012-12-07
                        • 2012-05-23
                        • 2019-07-29
                        • 2015-07-04
                        • 2014-03-15
                        相关资源
                        最近更新 更多