Python multiprocesare: AttributeError: nu se Poate marinate obiect local

0

Problema

Am scris un ChatOps bot pentru instrument de colaborare Mattermost folosind acest framework. Acum încerc să scriu și rula teste de integrare si le-am folosit exemple. Prin clonare depozit git puteți rula teste de unul singur. Lor docker-compose.yml fișierul va funcționa doar pe o masina Linux. Dacă doriți să-l reproduca pe o masina de Mac, va trebui să editați 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"

După rularea comenzii docker-compose up -d Mattermost este disponibil la localhost:8065. Am luat doar un simplu test de proiectul lor și a copiat-o în base-test.py. Puteți vedea codul sursă aici. După începerea testului prin rularea comenzii pytest --capture=no --log-cli-level=DEBUG . se va reveni la următoarea eroare: AttributeError: Can't pickle local object 'start_bot.<locals>.run_bot'. De asemenea, această eroare apare pe același caz de testare în proiectul lor. Eroarea se întâmplă la linia 92 în utils.py fișier

Cu ce am gresit aici?

2
0

Nu stiu daca ai fost deja pe acest drum, dar cred că s-ar putea obține trecut la decaparea eroare de a face run_bot ia bot care face bot.run() cu cât un argument și apoi trece-l la proces.

2021-11-24 15:38:26

Nu prea înțeleg ce ai vrut să spui. Am încercat mai multe lucruri, ca trece bot ca un argument, dar fara succes :(
Lucas Scheepers
0

Aruncati o privire la Acțiunea fila pe GitHub. Pytest pare a executa corect (ignoră excepțiile pe webhook test)

Aici este o recent run puteți folosi pentru a compara mediu de set-up: https://github.com/attzonko/mmpy_bot/runs/4289644769?check_suite_focus=true

2021-11-29 17:04:19

Am exact același mediu: Python 3.8.2 și Pytest 6.2.5. De asemenea, eu sunt rulează o comandă diferită menționat în întrebarea de mai sus și se întoarce pickle error. Când m-am încercați să utilizați comanda utilizați: pytest . -vv -n auto se întoarce: unrecognized arguments: -n auto. Stii cumva de ce? De asemenea, am postat aceasta intrebare șase zile în urmă și testele au 7 zile în urmă, poate că asta explică de ce este acum, nu la masina mea locale?
Lucas Scheepers

Aici este un termen de 1 oră în urmă: github.com/attzonko/mmpy_bot/runs/...
Plazgoth

În alte limbi

Această pagină este în alte limbi

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