0

我在 Ubuntu 14.04 中成功安装了 GNU Radio。我测试了安装,它返回 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
4

2 回答 2

1

你试过了吗from gnuradio import*import gnuradio如果这不起作用,那么如果存在这样的功能,您必须在 gnuradio 的库中手动检查它。还要检查您是否为 python 2.7 安装了正确的版本

于 2015-10-23T02:27:37.277 回答
1

这可能是因为您的 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. 请注意,您不得从 Ubuntu 安装 gnuradio 或 uhd;Ubuntu 的 UHD 版本太旧了,不支持任何当前的 USRP 系列。


如果在成功安装软件后您仍然收到 GNU Radio 找不到 USRP 设备的错误,请参阅此问答

于 2015-10-23T09:32:24.727 回答