Warum sagt Pandas, dass das "Motor" -Objekt kein Attribut "Cursor" hat?
Posted: 20 May 2025, 15:38
Ich upgrade mein Repo von Python 3.7 auf 3.13 auf. Dies ist ein sehr großer Sprung, daher muss ich auch viele Pakete aktualisieren. Ein solches Paket ist Pandas. Könnte mir jemand helfen, zu debuggen, was genau falsch ist?
Der Fehler:
File "C:\Users\wackowskin\PycharmProjects\Webapp\app\resources\database\dbservice.py", line 149, in get_dataframe
return self._pd.read_sql(sql=query, con=self.engine, params=params, **kwargs)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\wackowskin\PycharmProjects\webapp\venv\Lib\site-packages\pandas\io\sql.py", line 706, in read_sql
return pandas_sql.read_query(
File "C:\Users\wackowskin\PycharmProjects\webapp\venv\Lib\site-packages\pandas\io\sql.py", line 2738, in read_query
cursor = self.execute(sql, params)
File "C:\Users\wackowskin\PycharmProjects\webapp\venv\Lib\site-packages\pandas\io\sql.py", line 2672, in execute
cur = self.con.cursor()
^^^^^^^^^^^^^^^
AttributeError: 'Engine' object has no attribute 'cursor'
< /code>
Ich habe versucht zu ändern, wie die Parameter im Funktionsaufruf für self._pd.read_sql () aufgerufen werden, und ich habe versucht, die Version von Pandas anzupassen, die ich verwende, aber ich kann nicht niedriger als 2.2.3 gehen, da es erscheint, dass keine der früheren Unterstützung Python 3.13 unterstützt. Hat jemand eine Idee, was ich vielleicht ändern muss?
Code: Select all
import pandas as pd
class DatabaseExtension(DBExtension):
_pd = pd
def get_dataframe(self, query, *params, **kwargs):
query = self.build_query(query, *params)
return self._pd.read_sql(query, self.engine, params=params, **kwargs)
File "C:\Users\wackowskin\PycharmProjects\Webapp\app\resources\database\dbservice.py", line 149, in get_dataframe
return self._pd.read_sql(sql=query, con=self.engine, params=params, **kwargs)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\wackowskin\PycharmProjects\webapp\venv\Lib\site-packages\pandas\io\sql.py", line 706, in read_sql
return pandas_sql.read_query(
File "C:\Users\wackowskin\PycharmProjects\webapp\venv\Lib\site-packages\pandas\io\sql.py", line 2738, in read_query
cursor = self.execute(sql, params)
File "C:\Users\wackowskin\PycharmProjects\webapp\venv\Lib\site-packages\pandas\io\sql.py", line 2672, in execute
cur = self.con.cursor()
^^^^^^^^^^^^^^^
AttributeError: 'Engine' object has no attribute 'cursor'
< /code>
Ich habe versucht zu ändern, wie die Parameter im Funktionsaufruf für self._pd.read_sql () aufgerufen werden, und ich habe versucht, die Version von Pandas anzupassen, die ich verwende, aber ich kann nicht niedriger als 2.2.3 gehen, da es erscheint, dass keine der früheren Unterstützung Python 3.13 unterstützt. Hat jemand eine Idee, was ich vielleicht ändern muss?