Невозможно импортировать имя uhd в GNU Radio Python

Я успешно установил GNU Radio в Ubuntu 14.04. Я проверил установку, и она вернулась на 100%. Тем не менее, когда я запускаю его с кодом Python. Вернул ошибку такую ​​как

File "/home/gnuradio-3.7.5/gr-digital/examples/narrowband/uhd_interface.py", line 23, in <module>
from gnuradio import gr, uhd
ImportError: cannot import name uhd

В чем моя ошибка? Не могли бы вы помочь мне решить это? Спасибо

Мой импорт

from gnuradio import *
from gnuradio import gr, digital
from gnuradio import eng_notation
from gnuradio.eng_option import eng_option
from optparse import OptionParser

# from current dir
from receive_path  import receive_path
from transmit_path import transmit_path
from uhd_interface import uhd_transmitter
from uhd_interface import uhd_receiver

2 ответа

Решение

Вероятно, это так, потому что ваш GNU Radio был собран без поддержки UHD, поэтому gr-uhd Компонент недоступен.

Это часто встречающееся препятствие, поэтому у меня есть "верный" метод:

  • удалить все возможно сломанные версии GNU Radio и UHD
  • установить их чисто из источника

Ее как идти:

/home/gnuradio-3.7.5/gr-digital/examples/narrowband/uhd_interface.py

Судя по твоему пути, ты сам собираешь GNU Radio из рук. Кстати, это ужасный путь; /home/ зарезервировано для домашних каталогов пользователей, и пользователь не должен называться gnuradio-3.7.5, как имена пользователей с . просят неприятностей.

Так

cd /home/gnuradio-3.7.5/build
sudo make uninstall

следует удалить все, что было построено из источника.

Затем убедитесь, что нет конфликтующей установки Ubuntu

sudo apt-get remove gnuradio uhd-host libuhd003

Затем используйте pybombs для установки всего:

#assuming you have git installed:
git clone --recursive git://github.com/pybombs/pybombs
cd pybombs
./pybombs install gnuradio uhd

Это задаст вам несколько вопросов, среди них каталог префиксов, в который pybombs установит GNU Radio, и все необходимое, что не поставляется самой Ubuntu. Я рекомендую оставить значение по умолчанию (просто нажмите enter), а затем, после того как pybombs закончит скачивать, собирать и устанавливать все, запустить

./pybombs env
echo "source {directory that everything got installed to}/setup_env.sh" >> ~/.bashrc

Затем у вас есть хорошая, недавняя установка GNU Radio, которая содержит gr-uhd, Обратите внимание, что вы не должны устанавливать gnuradio или uhd из Ubuntu; UHD-версия Ubuntu настолько старая, что не поддерживает ни одну из текущих серий USRP.


Если после успешной установки программного обеспечения вы все еще получаете ошибки, из-за которых GNU Radio не может найти устройство USRP, см. Этот раздел вопросов и ответов.

Ты пытался from gnuradio import* или же import gnuradio? Если это не сработает, то вы должны вручную проверить это в библиотеке gnuradio, если такая функция существует. Также проверьте, правильно ли вы установили версию для Python 2.7.

Другие вопросы по тегам