Python 无法导入烧瓶应用程序

Python 无法导入烧瓶应用程序,python,flask,python-unittest,Python,Flask,Python Unittest,我有一个这样的结构: flask_api api __init__.py tests test_base.py manage.py 在init.py中: def create_app(): connexion_app = connexion.App(__name__, specification_dir='swagger/') connexion_app.add_api('output.yaml', res

我有一个这样的结构:

flask_api
    api
        __init__.py
        tests
            test_base.py
    manage.py
init.py中:

def create_app():
    connexion_app = connexion.App(__name__, specification_dir='swagger/')
    connexion_app.add_api('output.yaml', resolver=RestyResolver('api'),  validate_responses=True)
    app = connexion_app.app

    CORS(app)
    app.register_blueprint(utils)
    ...
    return app
在manager.py中:

from api import create_app

app = create_app()
manager = Manager(app)

@manager.command
def test():
    print(app.root_path)
    tests = unittest.TestLoader().discover(
        'api/tests',
        pattern='test*.py'
    )
    result = unittest.TextTestRunner(verbosity=2).run(tests)
    if result.wasSuccessful():
        return 0
    return 1
if __name__ == '__main__':
    manager.run()
在test_base.py中:

from flask_api import app
现在,当我运行python menage.py测试时,我得到一个错误:

  File "/home/flask_api/api/tests/test_base.py", line 7, in <module>
    from flask_api import app
ModuleNotFoundError: No module named 'flask_api
文件“/home/flask\u api/api/tests/test\u base.py”,第7行,在
来自flask_api导入应用程序
ModuleNotFoundError:没有名为“flask\u api”的模块

如何将应用程序导入测试库?

在测试中,从
api导入创建应用程序
再次导入,然后创建新的应用程序实例

简单地说:

from api import create_app

毕竟,为了简单起见,您可以指定
self.app=create\u app()

您不应该这样做。在测试中,从api导入创建应用程序重新导入
,然后在那里创建新的应用程序实例。然后,为了可读性,您可以
self.app=create\u app()
。您应该添加一个文件
flask\u api/\uuuuuuuuu init\uuuuuuuuuuupy
@以使其正常工作。你应该把你的评论作为答案发布,这样我就可以投票并把它标记为答案。当然,谢谢。