ImportError: No module named flask.ext.sqlalchemy in virtualenv
下面是我在python3中尝试从flask运行以下代码时遇到的主要错误"sqlAlchemy import sqlAlchemy"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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' |
不确定它是否相关,但当我更新sqlachemy时,它会给出以下pip提示。我尝试更新pip,但出于某种原因9.0.1版说它已升级,但实际上没有更新。
1 2 | You are using pip version 8.1.1, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. |
下面是我运行pip list时得到的结果,您可以看到sqlAlchemy和flask sqlAlchemy都已安装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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版本。我从来没有深入到这个问题的底部,但我的虚拟机,使一个新的修复它。谢谢你们的帮助,希望我能修好它。
在导入语句:
1 | from flask.ext.sqlalchemy import SQLAlchemy |
自举例外
因此,应改变输入语句:
1 | from flask_sqlalchemy import SQLAlchemy |
而不是:
1 | from flask.ext.mongoalchemy import MongoAlchemy |
用途:
1 | from flask_mongoalchemy import MongoAlchemy |
试试这个
我有同样的问题,我使用的瓶型whooshalchemy(0.56)的扩展,但它:如果你试图进口这是给
然后我改变了一瓶进口的声明在whooshalchemy(线(18)从
这一错误解决进出口,但这意味着你有一个修改版本的whooshalchemy瓶型。