Установка конкретных версий pyproj из github - PullRequest
1 голос
/ 29 сентября 2019

Я пытался установить obspy и столкнулся с множеством проблем.Я хочу установить obspy , который зависит от pyproj .Но, видимо, obspy работает только с pyproj 1.9.5.1, который я пытался установить с помощью pip (pip3 install pyproj==1.9.5.1), но получал только такие ошибки, как -

_proj.c:7488:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?

Копая глубже, я обнаружил, что это может быть проблема с Cythonи установка pyproj непосредственно из github может помочь, потому что это, очевидно, заставит Cython перекомпилировать все необходимые файлы.Что-то вроде -

pip3 install git+https://github.com/jswhit/pyproj.git

Однако этот выдает ошибку -

ERROR: Minimum supported proj version is 6.2.0, installed version is 5.2.0.

Я попытаюсь установить более высокую версию libproj-dev (sudo apt install libproj-dev=6.2.0), однако она показываетчто нет кандидата на 6.2.0.Я попытался загрузить deb файл и установить с него, используя -

sudo apt-get install ~/Downloads/libproj-dev_6.2.0-1_amd64.deb

, что просто приводит к ошибке -

The following packages have unmet dependencies:
 libproj-dev : Depends: libproj15 (= 6.2.0-1) but it is not installable
E: Unable to correct problems, you have held broken packages.

Но я думаю, что это неПравильный способ установки для меня в любом случае, так как мне нужна конкретная версия.Поэтому я попытался установить его непосредственно из архива выпуска -

pip3 install https://github.com/pyproj4/pyproj/archive/v1.9.5.1rel.tar.gz

, что привело к первой ошибке, которая у меня возникла, очевидно, из-за Cython.

С ошибками во всем, что я пытался сделать, чтобыисправить это, я не уверен, что даже имеет отношение к моей проблеме сейчас.

Любая помощь приветствуется, и если этот сайт не является подходящим местом для этого вопроса, пожалуйста, помогите мне перенести его в нужное место назначения.

Я на Ubuntu 18.10.

Ответы [ 2 ]

1 голос
/ 29 сентября 2019

Проблема в том, что сгенерированные Cython c-файлы не работают для Python-3.7 , если они генерируются с версиями Cython до 0.27.3 (как минимум): setup.py pyproj (по крайней мере, в версии 1.9.5.1) не восстанавливается _proj.c, созданный с помощью Cython 0.23.2, и, следовательно, установка не может быть успешной.

У вас есть следующие опции:

  • остаться на Python3.6, где все работает из коробки.
  • регенерировать _proj.c с текущей версией Cython.

Для второго варианта:

  1. скачайте и распакуйте предпочитаемую версию из https://github.com/pyproj4/pyproj/releases/tag/v1.9.5.1rel и переключитесь в созданную папку pyproj-1.9.5.1rel.
  2. проверьте, что Cython-версия >=0.27.3. через cython --version.
  3. регенерирует файл _proj.c через cython -3 _proj.pyx (_proj.pyx выглядит как Python3-код, но также language_level=2(т.е. cython -2 _proj.pyx), вероятно, будет работать.
  4. установка работает pip install .
0 голосов
/ 29 сентября 2019

pyproj 1.9.5.1 был выпущен 7 января 2016 года. В то время последняя версия Python была 3.5.В моих тестах.Не удалось установить pyproj 1.9.5.1 на Python 3.7.4, но это удалось на Python 3.5.7.

Вам необходимо создать среду с Python 3.5 на pyenv или conda .

Ссылки

...