为什么Celery在Flask app中有不同的Python Path

时间:2018-05-10 03:01:12

标签: python flask celery

我正在使用Flask应用程序设置芹菜。我的app文件夹结构如下:

enter image description here

app.py中的

sonip_api/sonip是切入点:

app = factory.flask

def main():
    app.run(debug=settings.FLASK_DEBUG)

if __name__ == "__main__":
    main()

我正在关注this example,在flask celery下宣传factory.pysonip_api/sonip/api个应用。

实际的芹菜任务函数在sonip_api/sonip/api/resources/main.py中与这些端点一起定义。

我能够在目录python sonip/app.py下运行sonip_api。但是,我在同一目录中运行celery -A sonip.api.celery worker时遇到错误:

File "C:\Users\dxx\WorkSpace\sonip_api\sonip\api\factory.py", line 4, in <module>
    import settings
ModuleNotFoundError: No module named 'settings'

可以通过在sonip前面添加settings来修复它。但随后Flask应用程序无法运行。这似乎是一个路径问题,我不明白为什么芹菜的python路径与烧瓶不同。我确信如果我将所有内容从sonip移到根目录,Flask和celery命令都会起作用。但我不希望我的应用程序处于与env等相同的水平。

0 个答案:

没有答案