首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError: virtualenv中没有名为flask.ext.sqlalchemy的模块

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

Stack Overflow用户
提问于 2017-05-15 14:08:42
回答 4查看 18.5K关注 0票数 10

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

代码语言:javascript
复制
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'

不确定它是否相关,但当我更新sqlaclhemy时,它给出了以下提示。我尝试更新pip,但是由于某种原因,9.0.1版说它已经升级了,但实际上并没有更新。

代码语言:javascript
复制
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都已安装。

代码语言:javascript
复制
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版本。我从来没有弄清楚这件事,但是启动我的虚拟机并创建一个新的来修复它。谢谢你们的帮助,希望我能把它修好。

EN

回答 4

Stack Overflow用户

发布于 2018-06-15 21:31:06

import语句:

代码语言:javascript
复制
from flask.ext.sqlalchemy import SQLAlchemy

引发异常ImportError: No module named flask.ext.sqlalchemy in virtualenv,因为扩展代码不再存储在flask.ext下,如this answer中所述。

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

代码语言:javascript
复制
from flask_sqlalchemy import SQLAlchemy
票数 28
EN

Stack Overflow用户

发布于 2018-12-10 16:11:07

而不是:

代码语言:javascript
复制
  from flask.ext.mongoalchemy import MongoAlchemy

使用:

代码语言:javascript
复制
  from flask_mongoalchemy import MongoAlchemy
票数 5
EN

Stack Overflow用户

发布于 2017-05-15 14:45:12

尝试此pip install flask-sqlalchemy

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

https://stackoverflow.com/questions/43972530

复制
相关文章

相似问题

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