Nawet po odpowiedzi @Mickey Perlstein i jego 3-godzinnej pracy detektywistycznej zajęło mi jeszcze kilka minut, zanim zastosowałem to do własnego bałaganu. Na wypadek, gdyby ktoś był podobny do mnie i potrzebuje trochę więcej pomocy, oto co działo się w mojej sytuacji.
- responses to moduł
- Response to klasa bazowa w module responses
- GeoJsonResponse to nowa klasa wywodząca się z Response
Początkowa klasa GeoJsonResponse:
from pyexample.responses import Response
class GeoJsonResponse(Response):
def __init__(self, geo_json_data):
Wygląda w porządku. Żadnych problemów, dopóki nie spróbujesz debugować, co dzieje się, gdy pojawia się kilka pozornie niejasnych komunikatów o błędach, takich jak ten:
from pyexample.responses import GeoJsonResponse .. \ pyexample \ responses \ GeoJsonResponse.py: 12: in (module) class GeoJsonResponse (Response):
E TypeError: module () przyjmuje co najwyżej 2 argumenty (podane 3)
=================================== BŁĘDY ============== ======================
___________________ BŁĄD podczas zbierania testów / test_geojson.py ____________________
test_geojson.py:2: in (module) from pyexample.responses import GeoJsonResponse .. \ pyexample \ responses \ GeoJsonResponse.py: 12: in (module)
class GeoJsonResponse (Response): E TypeError: module () przyjmuje co najwyżej 2 argumenty (podane 3)
BŁĄD: nie znaleziono: \ PyExample \ tests \ test_geojson.py :: TestGeoJson :: test_api_response
C: \ Python37 \ lib \ site-packages \ aenum__init __. Py: 163
(brak nazwy „PyExample \ tests \ test_geojson.py :: TestGeoJson :: test_api_response” w żadnym z [])
Błędy robiły wszystko, co w ich mocy, aby wskazać mi właściwy kierunek, a odpowiedź @Mickey Perlstein była martwa, zajęło mi tylko minutę, aby zebrać to wszystko w moim własnym kontekście:
Importowałem moduł :
from pyexample.responses import Response
kiedy powinienem był importować klasę :
from pyexample.responses.Response import Response
Mam nadzieję, że to komuś pomoże. (W mojej obronie jest jeszcze dość wcześnie.)