Конфигурация импорта библиотеки Python GPSD

Я работаю над написанием скрипта Python, который будет взаимодействовать с данными GPSD и передавать их в приложение. Это, очевидно, связано с внешней библиотекой.

Я настроил свою конфигурацию следующим образом на Raspberry Pi, которую я использую для развертывания кода:

sudo apt-get install gpsd gpsd-clients python-gps

У меня есть рабочий тестовый пример кода, который создает прослушиватель GPS и извлекает данные. Это выглядит примерно так:

gpsd = gps(mode=WATCH_ENABLE)
while gpsp.running:
    gpsd.next()

Он прекрасно работает, если я запускаю его, вызвав следующую команду:

python test.py

Но код ломается из-за ImportError:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from gps import *
ImportError: No module named gps

Если я запускаю его, используя:

python3 test.py

Для меня это имеет смысл, потому что при настройке проекта я включил библиотеки только для Python по умолчанию (Python 2.7), а не для Python 3. Но python3-gps не является пакетом, а остальная часть моего проекта требует Python 3, поэтому я не знаю, что делать.

Можно ли без ошибок скопировать сборку Python 2.7 библиотеки gps в Python 3? Какие еще библиотеки следует посмотреть? Есть ли где-то вокруг этой ошибки?

Спасибо большое!


person James Taylor    schedule 06.02.2015    source источник


Ответы (3)


На самом деле существует версия make для версии 3 — см. GitHub здесь...

https://github.com/tpoche/gps-python3

Он рекламирует себя как простой порт на Python 3....

person Henry Crutcher    schedule 06.02.2015
comment
Спасибо за ответ! Как вы его устанавливаете? Я понятия не имею, в какой каталог копировать сборку или как заставить ее работать правильно. - person James Taylor; 06.02.2015
comment
Я бы (при условии, что вы не хотите связываться с virtualenvs) либо установил его в подкаталог вашего домашнего каталога, либо вашего проекта и добавил этот подкаталог в свой PYTHONPATH, либо установил его в исходный каталог, в котором вы пишете свой проект. - person Henry Crutcher; 06.02.2015
comment
Да, я пытался просто поместить его в мою текущую рабочую папку, но я продолжаю получать TypeError: 'module' object is not callable. Любые идеи о том, как обойти это? - person James Taylor; 06.02.2015
comment
Да, я предполагаю, что дополнительный каталог GPS означает, что вам нужно выполнить импорт GPSData из gps.gps. - person Henry Crutcher; 06.02.2015

проект GPS3, найденный на github, является совместимым с Python 2.7–3.4 интерфейсом для gpsd, но не импортирует старые хлам.

Это все еще альфа, но я бы порекомендовал ее, по крайней мере, для тыка и пробы.

person Nodak    schedule 06.02.2015
comment
@JamesTaylor ... но чтобы решить вашу проблему с импортом python2.7, это действительно from gps import gps, или вы могли бы попробовать gps3. - person Nodak; 11.02.2015

Если у вас установлен pip3, используйте

pip3 install gps
person laudarch    schedule 19.01.2019