Python multiprocesamiento: AttributeError: no se Puede pickle objeto local

0

Pregunta

Escribí un ChatOps bot para la herramienta de colaboración Mattermost el uso de este framework. Ahora estoy tratando de escribir y ejecutar las pruebas de integración y he utilizado sus ejemplos. Por clonar el repositorio git puede ejecutar las pruebas por ti mismo. Su docker-compose.yml archivo sólo funcionará en una máquina Linux. Si desea reproducir en un equipo Mac, tendrás que editar el docker-compose.yml a:

version: "3.7"

services:
  app:
    container_name: "mattermost-bot-test"
    build: .
    command: ./mm/docker-entry.sh
    ports:
      - "8065:8065"
    extra_hosts:
      - "dockerhost:127.0.0.1"

Después de ejecutar el comando docker-compose up -d Mattermost está disponible en localhost:8065. Sólo tomé una simple prueba de su proyecto y copiado en base-test.py. Usted puede ver el código fuente aquí. Después de iniciar la prueba ejecutando el comando pytest --capture=no --log-cli-level=DEBUG . se devolverá el siguiente error: AttributeError: Can't pickle local object 'start_bot.<locals>.run_bot'. Este error se muestra también en el mismo caso de prueba en su proyecto. El error ocurre en la línea 92 en el utils.py archivo

¿Qué estoy haciendo mal aquí?

2
0

No sé si ya pasó por este camino, pero creo que usted puede conseguir más allá de la operación de decapado de error al hacer run_bot tomar el bot que hace bot.run() con un argumento y, a continuación, pasar al proceso.

2021-11-24 15:38:26

No entiendo muy bien lo que significaba. He intentado varias cosas como pasar bot como argumento, pero sin éxito :(
Lucas Scheepers
0

Echa un vistazo a la ficha Acción en que repositorio de GitHub. Pytest parece a ejecutar correctamente (haciendo caso omiso de las excepciones en el webhook de prueba)

Aquí está una reciente ejecución, se puede utilizar para comparar su entorno set-up: https://github.com/attzonko/mmpy_bot/runs/4289644769?check_suite_focus=true

2021-11-29 17:04:19

Tengo el mismo entorno de programación Python 3.8.2 y Pytest 6.2.5. También estoy ejecutando un comando diferente indicado en la pregunta anterior y devuelve el pickle error. Cuando trato de usar el comando está utilizando: pytest . -vv -n auto devuelve: unrecognized arguments: -n auto. ¿Tal vez de saber por qué? También he publicado esta pregunta hace seis días y las pruebas que se instalarán 7 días, tal vez eso explica por qué ahora está fallando en mi máquina local?
Lucas Scheepers

Aquí es una carrera de 1 hora atrás: github.com/attzonko/mmpy_bot/runs/...
Plazgoth

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................