Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

219
Views
ImportError: no se puede importar el nombre 'Comando' de 'celery.bin.base'

Cuando ejecuto el comando

 flower -A main --port=5555

Flower no funciona, el error es:

 > ImportError: cannot import name 'Command' from 'celery.bin.base'

¿Algunas ideas? Main es un proyecto de Django

over 4 years ago · Hanz Gallego
5 answers
Answer question

0

Flower siempre va a la zaga de Celery, por lo que si usa el último Celery (refactorizaron la CLI), probablemente fallará. Apégate a 4.4.x hasta que Flower te alcance.

over 4 years ago · Hanz Gallego Report

0

Una solución alternativa, si prefiere evitar degradar su trabajador de Celery, es ejecutar una versión anterior de Flower separada de su instalación principal de Celery. Por ejemplo, en un contenedor o venv separado. Flower solo monitorea a su corredor y puede ejecutarse completamente separado de su trabajador Celery.

Ejemplo de Flor en Docker

Para su instalación de Django/Celery, ejecute Celery normalmente (sin Flower):

 celery -A main worker

Para Flower, use la imagen acoplable mher/flower:0.9.5 , que internamente usa Celery 4.4.6 y se informa que funciona .

Aquí hay un comando docker run de muestra:

 docker run --name flower -p 5555:5555 mher/flower:0.9.5 flower --broker=redis://redis-address

Nota: debe cambiar la dirección del agente para que sea el nombre o la IP que se puede resolver con dns de su agente. Para rabbitmq, use --broker=amqp://guest@rabbitmq-address:5672// . Consulte la documentación de URL para conocer las opciones avanzadas.

Una vez que se ejecuta, Flower debería estar disponible en la IP del host Docker: 5555

Alternativamente, puede crear un archivo docker-compose que encapsule todos los argumentos en el comando de ejecución y use docker-compose up -d .

Alternativas

Si lo prefiere, también puede hacer todo esto sin Docker , usando pip install flower redis celery==4.4.7 , siempre que sea independiente de su instalación principal de Celery, y luego ejecute flower con flower --broker=redis://redis-address . Un venv separado puede funcionar para esto.

Consulte el problema de github para futuras actualizaciones sobre el error original.

over 4 years ago · Hanz Gallego Report

0

Tuve el mismo problema mientras trabajaba en apio 5.0.5, así que cambié a la versión de apio 4.4.7 con flor 0.9.7 y funcionó.

over 4 years ago · Hanz Gallego Report

0

Puede degradar Celery como muchas personas ya han sugerido o, como en mi caso, actualizar flower a la última versión, que ahora es 1.0.0 desde julio de 2021 -> https://pypi.org/project/flower/ .

Puedo confirmar que esta última versión es compatible con celery[auth,redis,tblib]==5.1.2 .

Personalmente, sugeriría que intentara actualizar los paquetes en lugar de degradarlos, y que actualizar la flor tiene menos posibilidades de romper su proyecto que degradar el apio.

over 4 years ago · Hanz Gallego Report

0

Tal vez puedas probar pip install https://github.com/mher/flower/zipball/master#egg=flower

over 4 years ago · Hanz Gallego Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!