Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中中断循环导入_Python_Celery_Circular Dependency - Fatal编程技术网

如何在python中中断循环导入

如何在python中中断循环导入,python,celery,circular-dependency,Python,Celery,Circular Dependency,我的python代码中有一个循环导入问题。来自一个模块的装饰器需要调用另一个模块中的函数。这个函数使用的是从上一个模块导入的装饰器。错误消息显示无法导入名称xxxx 我的代码结构: __init__.py worker1.py worker2.py ... init.py中有一个decorator 在worker1.py中 @celery.task @defer def task1(*args, **kargs): some logic 由于eval%s.apply\u async%

我的python代码中有一个循环导入问题。来自一个模块的装饰器需要调用另一个模块中的函数。这个函数使用的是从上一个模块导入的装饰器。错误消息显示无法导入名称xxxx

我的代码结构:

__init__.py
worker1.py
worker2.py
...
init.py中有一个decorator

在worker1.py中

@celery.task
@defer
def task1(*args, **kargs):
    some logic
由于eval%s.apply\u async%func.func\u name需要在worker1中加载函数,而worker1需要在u init\uu中加载修饰符,因此它在uu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuy和worker1.py中将具有循环导入。如何解决此循环导入问题


顺便说一句,我无法将decorator函数移动到worker1.py,因为它是同一文件夹中其他工作人员所需要的

将其移动到decorators.py或其他位置…我很难跟上,但也许您可以将导入移动到包装器函数中为什么不延迟接受任何参数?apply\u async属性来自哪里?apply\u async来自芹菜。
@celery.task
@defer
def task1(*args, **kargs):
    some logic