не могу импортировать имя Transformer из pyproj

Я пытаюсь использовать Transformer из pyproj, используя приведенный ниже код. Я, однако, получаю сообщение об ошибке. В чем может быть проблема?


ImportError                               Traceback (most recent call last)
<ipython-input-1-11c55c4b670c> in <module>
----> 1 from noiseplanet.matcher import matching
      2 import geopandas
      3 import pandas
      4 import osmnx

~\Anaconda3\lib\site-packages\noiseplanet\matcher\__init__.py in <module>
      6 """
      7 
----> 8 from noiseplanet.matcher.model.route import graph_from_track, route_from_track
      9 from noiseplanet.matcher.matching import *
     10 from noiseplanet.matcher.datacleaner import clean_data

~\Anaconda3\lib\site-packages\noiseplanet\matcher\model\__init__.py in <module>
      7 
      8 from noiseplanet.matcher.model.leuven import match_leuven
----> 9 from noiseplanet.matcher.model.nearest import match_nearest_edge
     10 from noiseplanet.matcher.model.route import graph_from_track, route_from_track

~\Anaconda3\lib\site-packages\noiseplanet\matcher\model\nearest.py in <module>
     14 import osmnx as ox
     15 import numpy as np
---> 16 from pyproj import Proj, Geod, Transformer
     17 
     18 # Useful script

ImportError: cannot import name 'Transformer' from 'pyproj' (C:\Users\nzhuw\Anaconda3\lib\site-packages\pyproj\__init__.py)


person Zhuwaki    schedule 30.12.2020    source источник
comment
Всегда помещайте полное сообщение об ошибке (начинающееся со слова Traceback) в вопрос (не комментарий) в виде текста (не снимка экрана). Есть и другая полезная информация.   -  person furas    schedule 30.12.2020
comment
ошибка показывает проблему в модуле noisedplanet - возможно, он ожидает более старую версию pyproj и пытается импортировать Transformer, но в pyproj я вижу только transformer.Transformer   -  person furas    schedule 30.12.2020
comment
Я вижу, вы уже отправляете проблемы на NoisePlanet :) В данный момент вы можете только попытаться измените from pyproj import Transformer на from pyproj.transformer import Transformer - но, возможно, коду потребуется гораздо больше изменений в импорте   -  person furas    schedule 30.12.2020
comment
@furas Спасибо, я изменил вопрос. Надеюсь, так лучше. Я попытался использовать from pyproj.transformer import Transformer, а затем выдал еще один ImportError cannot import name 'CRS' from pyproj . Так что я полагаю, что это потребует гораздо больше изменений. Пытаюсь вернуться к предыдущей версии pyproj, хотя я не могу найти документацию для предыдущих версий. Спасибо еще раз !   -  person Zhuwaki    schedule 30.12.2020
comment
Какая версия pyproj у вас установлена?   -  person snowman2    schedule 31.12.2020
comment
@snowman2 у меня есть pyproj версии 3.0.0   -  person Zhuwaki    schedule 31.12.2020
comment
@Zhuwaki, не могли бы вы закрыть свою проблему, если ответ ниже решил вашу проблему? Спасибо.   -  person tor    schedule 08.01.2021


Ответы (1)


Эта проблема была решена и закрыта на github. Когда я создал noiseplanet, я использовал pyproj==2.6.1.post1, поэтому вам следует понизить версию. Он должен работать. Вы можете скачать его с помощью:

pip install pyproj==2.6.1.post1

Это должно решить вашу проблему.

Примечание:

Структура pyproj изменилась в 3.0.0, поэтому я предполагаю, что это является источником вашей ошибки. К сожалению, я больше не работаю над noiseplanet. Я могу обновить пакет для работы с более новыми версиями, но это требует времени. Любые запросы на тягу приветствуются :)

Хорошего дня и удачного кодирования!

PS: не стесняйтесь открывать новые вопросы, я отвечу на них в свободное время.

person tor    schedule 07.01.2021