我有flask Web应用程序,其结构如下:
/app
/__init__.py
/wsgi.py
/app
/__init__.py
/views.py
/models.py
/method.py
/common.py
/db_client.py
/amqp_client.py
/cron
/__init.py__
/daemon1.py
/daemon2.py
/static/
/main.css
/templates/
/base.html
/scripts
/nginx
/supervisor
/Dockerfile
/docker-compose.yml
在app / app / cron中,我编写了独立的守护进程,我想在docker外部调用。例如python daemon1.py
daemon1.py代码来自..common的进口统计数据
从..method导入msapi,dataformater
从..db_client导入db_connection
def run_daemon():
......
......
......
如果name ==“ main ”:
run_daemon()
因此,当我尝试运行此daemon1.py时,其引发ValueError:尝试在非包中进行相对导入
请提出正确的导入方法以及构建这些守护程序的方法。
提前致谢。
@greenbergé感谢您的解决方案。我尝试过但没有为我工作。
因此,为了使事情正常进行,我对代码做了一些更改。除了在daemon1.py的主程序中调用run_daemon()之外,我还直接调用了函数run_daemon()。
python -m'从app.cron.daemon1导入run_daemon(); run_daemon()'
因为这不是解决问题的确切方法,但是事情对我有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句