Python 恐怖:来自。导入postgresql、mysql、sqlite、mssql、oracle#pragma:无封面导入错误:无法导入名称';mysql';

Python 恐怖:来自。导入postgresql、mysql、sqlite、mssql、oracle#pragma:无封面导入错误:无法导入名称';mysql';,python,alembic,Python,Alembic,我正在尝试在我的web上使用flask应用程序 我已经安装了Flask、Flask会话、psycopg2二进制文件和SQLAlchemy 之后,我尝试了一个来自flask的简单代码 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' 预期的输出是打开我的烧瓶应用程序的链接, 但是在我的终端上运行“flask”之后,我得到了这个错误

我正在尝试在我的web上使用flask应用程序

我已经安装了Flask、Flask会话、psycopg2二进制文件和SQLAlchemy

之后,我尝试了一个来自flask的简单代码

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'
预期的输出是打开我的烧瓶应用程序的链接, 但是在我的终端上运行“flask”之后,我得到了这个错误

Traceback (most recent call last):
  File "/home/xenoveals/.local/bin/flask", line 11, in <module>
    sys.exit(main())
  File "/home/xenoveals/.local/lib/python3.6/site-packages/flask/cli.py", line 967, in main
    cli.main(args=sys.argv[1:], prog_name="python -m flask" if as_module else None)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/flask/cli.py", line 586, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 781, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 700, in make_context
    self.parse_args(ctx, args)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 1209, in parse_args
    echo(ctx.get_help(), color=ctx.color)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 570, in get_help
    return self.command.get_help(self)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 975, in get_help
    self.format_help(ctx, formatter)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 1003, in format_help
    self.format_options(ctx, formatter)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 1137, in format_options
    self.format_commands(ctx, formatter)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/click/core.py", line 1184, in format_commands
    for subcommand in self.list_commands(ctx):
  File "/home/xenoveals/.local/lib/python3.6/site-packages/flask/cli.py", line 549, in list_commands
    self._load_plugin_commands()
  File "/home/xenoveals/.local/lib/python3.6/site-packages/flask/cli.py", line 523, in _load_plugin_commands
    self.add_command(ep.load(), ep.name)
  File "/home/xenoveals/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2446, in load
    return self.resolve()
  File "/home/xenoveals/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2452, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/flask_migrate/__init__.py", line 8, in <module>
    from alembic import __version__ as __alembic_version__
  File "/usr/lib/python3/dist-packages/alembic/__init__.py", line 9, in <module>
    from . import context  # noqa
  File "/usr/lib/python3/dist-packages/alembic/context.py", line 1, in <module>
    from .runtime.environment import EnvironmentContext
  File "/usr/lib/python3/dist-packages/alembic/runtime/environment.py", line 2, in <module>
    from .migration import MigrationContext
  File "/usr/lib/python3/dist-packages/alembic/runtime/migration.py", line 12, in <module>
    from .. import ddl, util
  File "/usr/lib/python3/dist-packages/alembic/ddl/__init__.py", line 1, in <module>
    from . import postgresql, mysql, sqlite, mssql, oracle  # pragma: no cover
ImportError: cannot import name 'mysql'
回溯(最近一次呼叫最后一次):
文件“/home/xenoveals/.local/bin/flask”,第11行,in
sys.exit(main())
文件“/home/xenoveals/.local/lib/python3.6/site-packages/flask/cli.py”,第967行,主文件
cli.main(args=sys.argv[1:],prog_name=“python-m flask”如果as_模块else无)
文件“/home/xenoveals/.local/lib/python3.6/site packages/flask/cli.py”,第586行,主目录
返回超级(烧瓶组,自身)。主(*args,**kwargs)
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第781行,在main中
将self.make_上下文(prog_name,args,**extra)作为ctx:
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第700行,在make_上下文中
self.parse_args(ctx,args)
parse_args中的文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第1209行
echo(ctx.get_help(),color=ctx.color)
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第570行,在“获取帮助”中
返回self.command.get_help(self)
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第975行,在“获取帮助”中
self.format_帮助(ctx,格式化程序)
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第1003行,格式为“帮助”
self.format_选项(ctx、格式化程序)
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第1137行,格式为“选项”
self.format_命令(ctx、格式化程序)
文件“/home/xenoveals/.local/lib/python3.6/site packages/click/core.py”,第1184行,格式为
对于self.list_命令(ctx)中的子命令:
文件“/home/xenoveals/.local/lib/python3.6/site packages/flask/cli.py”,第549行,在list_命令中
self.\u加载\u插件\u命令()
文件“/home/xenoveals/.local/lib/python3.6/site packages/flask/cli.py”,第523行,在加载插件命令中
self.add_命令(ep.load(),ep.name)
文件“/home/xenoveals/.local/lib/python3.6/site packages/pkg_resources/_init__.py”,第2446行,已加载
返回self.resolve()
文件“/home/xenoveals/.local/lib/python3.6/site packages/pkg_resources/_init__.py”,第2452行,在resolve中
module=\uuuu导入(self.module\u name,fromlist=[''\uuuu name\uuuuuuu'],级别=0)
文件“/usr/lib/python3/dist-packages/flask\u-migrate/\u\u-init\u\u.py”,第8行,在
从alembic导入版本作为alembic版本__
文件“/usr/lib/python3/dist-packages/alembic/_init___;.py”,第9行,在
从…起导入上下文#noqa
文件“/usr/lib/python3/dist-packages/alembic/context.py”,第1行,在
from.runtime.environment导入环境上下文
文件“/usr/lib/python3/dist-packages/alembic/runtime/environment.py”,第2行,在
从.migration导入MigrationContext
文件“/usr/lib/python3/dist packages/alembic/runtime/migration.py”,第12行,在
从…起导入ddl,util
文件“/usr/lib/python3/dist packages/alembic/ddl/_init__.py”,第1行,在
从…起导入postgresql、mysql、sqlite、mssql、oracle#pragma:无封面
ImportError:无法导入名称“mysql”

最后应该调用
app.run()
。或者更好

if __name__ = '__main__':
    app.run()

如果您喜欢此
应用程序,可以更改
端口。
运行(端口=5000)

假设您自己安装了SQLAlchemy,Flask从不同的位置选择(不完整的)alembic包。你能检查一下
/home/xenoveals/.local/lib/python3.6/site packages/alembic
是否存在吗?啊,问题解决了。多亏了这句话。。我尝试pip3安装alembic,现在一切正常。谢谢“