Več

GeoAlchemy: AttributeError: tip objekta 'ColumnProperty' nima atributa 'ColumnComparator'

GeoAlchemy: AttributeError: tip objekta 'ColumnProperty' nima atributa 'ColumnComparator'


GeoAlchemy sem namestil s pomočjo easy_install, vendar pri poskusu uvoza vrne naslednje:

Sledenje (zadnji klic zadnji): Datoteka "", 1. vrstica, pri uvozu datoteke geoalkemije "C: Python27 ArcGIS10.2 lib site-packages geoalchemy-0.7.2-py2.7.egg geoalchemy__init __. Py ", 2. vrstica, iz uvoza geoalchemy.base * Datoteka" C: Python27 ArcGIS10.2 lib site-packages geoalchemy-0.7.2-py2.7.egg geoalchemy base.py ", vrstica 242 , v razredu SpatialComparator (ColumnProperty.ColumnComparator): AttributeError: tip objekta 'ColumnProperty' nima atributa 'ColumnComparator'

Kako to popraviti?


Iz dokumentov Geoalchemy:

Zahteva SQLAlchemy> 0,6. Podprto v Python 2.5 in Python 2.6. Moral bi delovati tudi s Pythonom 2.4, vendar ni bil preizkušen.

Brez omembe Pythona 2.7, morda je to vaša težava (predvidevam, da uporabljate Python 2.7 zaradi oznake python27). Ali pa je lahko različica sqlalchemy (previsoka, prenizka, ne vem, katero uporabljate).

O popravilu pojdite na Geoalchemy 2 in PostgreSQL. Če želite uporabiti bazo podatkov MySQL, poskusite znižati Python (Flask, Sqlalchemy ...).


Zdi se, da je SqlAlchemy preimenoval ColumnComparator v Primerjalnik in ga uporabil zamenljivo, kot je prikazano tukaj.

Zdi se, da ta zahteva uporabnika github chokoswitch obravnava to zahtevo.


To je lahko vredno za tiste, ki potrebujejo GeoAlchemy (ne GeoAlchemy2).

@Florian odgovor opozarja na razlog za to napako in na popravek. Tu je še ena rešitev, morda lažje sledljiva.

Kot je tukaj navedel uporabnik jackha, se zdi, da deluje naslednja kombinacija:

  • GeoAlkemija = 0,7.2
  • SQLAlchemy = 0,8,4

Imel sem isto težavo (v Pythonu 2.7), ki sem jo rešil z namestitvijo obeh paketov v virtualenv, na primer:

pip install sqlalchemy == 0.8.4

Poglej si posnetek: SQLAlchemy и возможности PostgreSQL. Дмитрий Кукушкин Python Meetup