royerlab / ultrack

Cell tracking and segmentation software
https://royerlab.github.io/ultrack
BSD 3-Clause "New" or "Revised" License
86 stars 11 forks source link

Issues between pandas and sqlalchemy dependencies #63

Closed edyoshikun closed 8 months ago

edyoshikun commented 8 months ago

This combination of versions causes the issue while attempting to get the tracks from the database. (See traceback below)

pandas 2.2.0
sqlalchemy 1.4.51
---------------------------------------------------------------------------
RemoteTraceback                           Traceback (most recent call last)
RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/toolz/functoolz.py", line 304, in __call__
    return self._partial(*args, **kwargs)
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/ultrack/core/linking/processing.py", line 183, in _process
    df.to_sql(
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/core/generic.py", line 3081, in to_sql
    return sql.to_sql(
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/io/sql.py", line 842, in to_sql
    return pandas_sql.to_sql(
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/io/sql.py", line 2851, in to_sql
    table.create()
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/io/sql.py", line 984, in create
    if self.exists():
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/io/sql.py", line 970, in exists
    return self.pd_sql.has_table(self.name, self.schema)
  File "/hpc/mydata/eduardo.hirata/.conda/envs/ultrack/lib/python3.10/site-packages/pandas/io/sql.py", line 2866, in has_table
    return len(self.execute(query, [name]).fetchall()) > 0
...
    871 if success:
    872     return value
--> 873 raise value

AttributeError: 'Connection' object has no attribute 'cursor'

Update: @JoOkuma The combination you suggested worked.

pandas                    2.1.3                    pypi_0    pypi
sqlalchemy                1.4.50                   pypi_0    pypi
JoOkuma commented 8 months ago

closed with #66