Python ImportError:virtualenv中没有名为flask.ext.sqlalchemy的模块
以下是我在尝试从flask_sqlalchemy import sqlalchemy在python3中运行以下代码时遇到的主要错误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
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.printsys.path
安装的,并查看路径是否指向pip安装软件包的路径
from flask.ext.mongoalchemy import MongoAlchemy
from flask_mongoalchemy import MongoAlchemy