导入错误:在虚拟环境中找不到flask.ext.sqlalchemy模块
导入错误:在虚拟环境中找不到flask.ext.sqlalchemy模块
当我试图从flask_sqlalchemy导入SQLAlchemy并运行以下代码时,我遇到了主要错误:
Traceback (most recent call last): File "/home/jsnyder10/.local/bin/flask", line 11, in 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 from flask_sqlalchemy import SQLAlchemy ImportError: No module named 'flask_sqlalchemy'
我不确定这是否相关,但是当我更新sqlaclhemy时,pip会发出以下警告。我尝试更新pip,但由于某种原因,版本9.0.1显示已升级,但实际上没有更新。
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。
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版本。我没有找到这个问题的根本原因,但是清除我的虚拟机并创建一个新的解决了它。感谢大家的帮助,但我希望我能够解决它。
admin 更改状态以发布 2023年5月23日
引入语句:
from flask.ext.sqlalchemy import SQLAlchemy
会产生异常ImportError: No module named flask.ext.sqlalchemy in virtualenv
,因为扩展代码不再存储在flask.ext
下,就像这个答案中所述。
因此,引入语句应更改为:
from flask_sqlalchemy import SQLAlchemy