Python ImportError:virtualenv中没有名为flask.ext.sqlalchemy的模块

Python ImportError:virtualenv中没有名为flask.ext.sqlalchemy的模块,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,以下是我在尝试从flask_sqlalchemy import sqlalchemy在python3中运行以下代码时遇到的主要错误 Traceback (most recent call last): File "/home/jsnyder10/.local/bin/flask", line 11, in <module> sys.exit(main()) File "/home/jsnyder10/.local/lib/python3.5/site-packages/fla

以下是我在尝试从flask_sqlalchemy import sqlalchemy在python3中运行以下代码时遇到的主要错误

Traceback (most recent call last):
  File "/home/jsnyder10/.local/bin/flask", line 11, in <module>
sys.exit(main())
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 513, in main
cli.main(args=args, prog_name=name)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 380, in main
return AppGroup.main(self, *args, **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 423, in run_command
app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 152, in __init__
self._load_unlocked()
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 176, in _load_unlocked
self._app = rv = self.loader()
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 237, in load_app
rv = locate_app(self.app_import_path)
  File "/home/jsnyder10/.local/lib/python3.5/site-packages/flask/cli.py", line 90, in locate_app
__import__(module)
  File "/home/jsnyder10/Documents/CS50/pset7/pset7/finance/application.py", line 2, in <module>
from flask_sqlalchemy import SQLAlchemy
ImportError: No module named 'flask_sqlalchemy'
下面是我运行pip列表时得到的结果,您可以看到sqlalchemy和flask sqlalchemy都已安装

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
appdirs (1.4.3)
click (6.7)
Flask (0.12.1)
Flask-SQLAlchemy (2.2)
itsdangerous (0.24)
Jinja2 (2.9.6)
MarkupSafe (1.0)
packaging (16.8)
pip (9.0.1)
pyparsing (2.2.0)
setuptools (35.0.2)
six (1.10.0)
SQLAlchemy (1.1.9)
Werkzeug (0.12.1)
wheel (0.29.0)
我猜它使用了不正确的Python版本。我从来没有弄清楚这件事的真相,但我用核武器攻击了我的虚拟机,并制造了一个新的虚拟机来修复它。谢谢大家的帮助,希望我能把它修好。

试试这个
pip安装sqlalchemy

导入语句:

from flask.ext.sqlalchemy import SQLAlchemy
引发异常
ImportError:在virtualenv
中没有名为flask.ext.sqlalchemy的模块,因为扩展代码不再存储在
flask.ext
下,如中所述

因此,导入语句应更改为:

from flask_sqlalchemy import SQLAlchemy

我也有同样的问题,我正在使用Flask WhooshAlchemy(0.56)扩展,但是如果您尝试导入它:
import flask\u whooshalchemy作为whooshalchemy
提供报告的错误:
import错误:没有名为flask.ext.sqlalchemy的模块

然后,我将Flask WhooshAlchemy(第18行)中的import语句从
import Flask.ext.sqlalchemy更改为Flask\u sqlalchemy
将烧瓶炼金术导入为烧瓶炼金术#已修改

这解决了导入错误,但这意味着您有一个烧瓶WhooshAlchemy的修改版本。

而不是:

  from flask.ext.mongoalchemy import MongoAlchemy
使用:


执行
pip列表
并查看是否安装了flask_sqlalchemy。我现在在我的主要评论中发布了pip列表的结果。它说SQLAchemy和flask sqlalchemy都已安装。我运行了pip列表,所有内容都已正确安装。我在Ubuntu16.04LTS上运行这个程序,我甚至用一个新的Ubuntu16.04LTS创建了一个新的虚拟机,并且得到了相同的错误。确保pip安装了正确的软件包。可能是重复的我这样做了,它是根据python提示符中的pip list.print
sys.path
安装的,并查看路径是否指向pip安装软件包的路径
  from flask.ext.mongoalchemy import MongoAlchemy
  from flask_mongoalchemy import MongoAlchemy