我正在使用Flask应用程序设置芹菜。我的app文件夹结构如下:
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.py
和sonip_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
等相同的水平。