Даже после ответа @Mickey Perlstein и его 3 часов детективной работы, мне все еще потребовалось еще несколько минут, чтобы применить это в моем собственном беспорядке. Если кто-то похож на меня и нуждается в дополнительной помощи, вот что происходит в моей ситуации.
- Отзывы это модуль
- Ответ - это базовый класс в модуле ответов.
- GeoJsonResponse - это новый класс, производный от Response
Начальный класс GeoJsonResponse:
from pyexample.responses import Response
class GeoJsonResponse(Response):
def __init__(self, geo_json_data):
Выглядит хорошо. Нет проблем, пока вы не попытаетесь отладить эту вещь, когда вы получаете кучу, казалось бы, расплывчатых сообщений об ошибках вроде этого:
из pyexample.responses import GeoJsonResponse .. \ pyexample \ response \ GeoJsonResponse.py: 12: в (модуль) класс GeoJsonResponse (Response):
E TypeError: module () принимает не более 2 аргументов (3 дано)
=================================== ОШИБКИ ============== ======================
___________________ ОШИБКА, собирающая тесты / test_geojson.py ____________________
test_geojson.py:2: in (модуль) из pyexample.responses импортировать GeoJsonResponse .. \ pyexample \ response \ GeoJsonResponse.py: 12: in (модуль)
Класс GeoJsonResponse (Response): E TypeError: module () принимает не более 2 аргументов (дано 3)
ОШИБКА: не найдено: \ PyExample \ tests \ test_geojson.py :: TestGeoJson :: test_api_response
C:. \ Python37 \ Lib \ Зона-пакеты \ aenum__init __ пе: 163
(без имени 'PyExample \ tests \ test_geojson.py :: TestGeoJson :: test_api_response' ни в одном из [])
Ошибки делали все возможное, чтобы указать мне правильное направление, и ответ @Mickey Perlstein был мертв, мне потребовалась только минута, чтобы собрать все это вместе в моем собственном контексте:
Я импортировал модуль :
from pyexample.responses import Response
когда я должен был импортировать класс :
from pyexample.responses.Response import Response
Надеюсь, это кому-нибудь поможет. (В мою защиту, это все еще довольно рано.)