earthobservations / luftdatenpumpe

Acquire and process live and historical air quality data without efforts. Filter by station-id, sensor-id and sensor-type, apply reverse geocoding, store into time-series and RDBMS databases, publish to MQTT, output as JSON, or visualize in Grafana. Data sources: Sensor.Community (luftdaten.info), IRCELINE, and OpenAQ.
https://luftdatenpumpe.readthedocs.io/
GNU Affero General Public License v3.0
35 stars 3 forks source link

ImportError: cannot import name '_literal_as_text' from 'sqlalchemy.sql.expression' #34

Closed MauritsDescamps closed 2 years ago

MauritsDescamps commented 2 years ago

Running any luftdatenpumpe command reults in the following Import Error. ImportError: cannot import name '_literal_as_text' from 'sqlalchemy.sql.expression'

Command: luftdatenpumpe --help Trace:

Traceback (most recent call last):
  File "/usr/local/Caskroom/miniconda/base/envs/PM/bin/luftdatenpumpe", line 5, in <module>
    from luftdatenpumpe.commands import run
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/luftdatenpumpe/commands.py", line 12, in <module>
    from luftdatenpumpe.source.rdbms import stations_from_rdbms, stations_from_rdbms_flex
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/luftdatenpumpe/source/rdbms.py", line 7, in <module>
    from luftdatenpumpe.target.rdbms import RDBMSStorage
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/luftdatenpumpe/target/rdbms.py", line 12, in <module>
    from sqlalchemy_utils import drop_database
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/sqlalchemy_utils/__init__.py", line 1, in <module>
    from .aggregates import aggregated  # noqa
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/sqlalchemy_utils/aggregates.py", line 372, in <module>
    from .functions.orm import get_column_key
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/sqlalchemy_utils/functions/__init__.py", line 1, in <module>
    from .database import (  # noqa
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/sqlalchemy_utils/functions/database.py", line 10, in <module>
    from ..expressions import explain_analyze
  File "/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/sqlalchemy_utils/expressions.py", line 4, in <module>
    from sqlalchemy.sql.expression import (
ImportError: cannot import name '_literal_as_text' from 'sqlalchemy.sql.expression' (/usr/local/Caskroom/miniconda/base/envs/PM/lib/python3.8/site-packages/sqlalchemy/sql/expression.py)

Python version: 3.8.13 Pip version: 21.2.4 luftdatenpumpe version: 0.20.2

MauritsDescamps commented 2 years ago

I downgraded sqlalchemy as a temporary fix: pip install sqlalchemy==1.3.24

amotl commented 2 years ago

Dear @MauritsDescamps,

thank you very much for your report. It is sweet to hear back from other active users of Luftdatenpumpe. ce68c88a brings the dependencies up to speed and will hopefully mitigate the problems you have been observing on behalf of the next release.

With kind regards, Andreas.

amotl commented 2 years ago

Dear @MauritsDescamps,

luftdatenpumpe 0.21.0 has been released and the issue you reported should have been addressed. We would love to hear back from you if everything works now. Otherwise, please create another issue, or otherwise add your report to #39.

Thank you again and with kind regards, Andreas.