Même après la réponse de @Mickey Perlstein et ses 3 heures de travail de détective, il m'a fallu encore quelques minutes pour appliquer cela à mon propre désordre. Au cas où quelqu'un d'autre serait comme moi et aurait besoin d'un peu plus d'aide, voici ce qui se passait dans ma situation.
- les réponses sont un module
- Response est une classe de base dans le module de réponses
- GeoJsonResponse est une nouvelle classe dérivée de Response
Classe initiale de GeoJsonResponse :
from pyexample.responses import Response
class GeoJsonResponse(Response):
def __init__(self, geo_json_data):
Ça a l'air bien. Aucun problème jusqu'à ce que vous essayiez de déboguer l'appareil, et c'est alors que vous obtenez un tas de messages d'erreur apparemment vagues comme celui-ci :
from pyexample.responses import GeoJsonResponse .. \pyexample\responses\GeoJsonResponse.py :12 : dans (module) classe GeoJsonResponse(Response) :
E TypeError : module() prend au plus 2 arguments (3 donnés)
\=================================== ERRORS ====================================
___________________ ERROR collecte tests/test_geojson.py ____________________
test_geojson.py:2 : in (module) from pyexample.responses import GeoJsonResponse \pyexample\responses \GeoJsonResponse.py :12 : dans (module)
classe GeoJsonResponse(Response) : E TypeError : module() prend au plus 2 arguments (3 donnés)
ERROR : non trouvé : \PyExample\tests\test_geojson.py ::TestGeoJson::test_api_response
C:\Python37\lib\site -packages \aenum__init__.py :163
(pas de nom 'PyExample' tests \test_geojson.py ::TestGeoJson::test_api_response' dans n'importe lequel de [])
Les erreurs ont fait de leur mieux pour m'orienter dans la bonne direction, et la réponse de @Mickey Perlstein était tout à fait pertinente, il m'a juste fallu une minute pour tout comprendre dans mon propre contexte :
J'importais le module :
from pyexample.responses import Response
alors que j'aurais dû importer le classe :
from pyexample.responses.Response import Response
J'espère que cela aidera quelqu'un. (Pour ma défense, il est encore un peu tôt).
2 votes
Pourriez-vous sélectionner la réponse fournie ? Elle semble correcte et permettra de fermer d'autres questions en tant que doublons de la vôtre.
1 votes
Hey @wakamdr la fonctionnalité de question dupliquée est très utile. Y a-t-il une raison pour laquelle ma réponse n'est pas correcte ?
0 votes
Il n'est pas nécessaire qu'une réponse soit acceptée pour que d'autres questions soient fermées en tant que doublons de celle-ci.