我在python程序中使用gnuradio时遇到了一些问题。我正在尝试使用gr卫星的python程序来解码来自CubeSats的数据包。当我尝试运行命令python filename.py时,我收到以下输出
Traceback (most recent call last):
File "taurus1_telemetry_parser.py", line 23, in <module>
from gnuradio import gr
File "/usr/local/lib/python3/dist-packages/gnuradio/gr/__init__.py", line 39, in <module>
from .runtime_swig import *
File "/usr/local/lib/python3/dist-packages/gnuradio/gr/runtime_swig.py", line 117
def value(self) -> "PyObject *":
^
SyntaxError: invalid syntax(以下是根据原文编辑的评论)
原来,当gnuradio运行python3时,我的系统被设置为运行python2.7.15。我调整了我的系统,使其不再使用python3.6.8,根据这里。发布的说明,这使我的系统正确地运行python3.6.8,但我认为我安装的gnuradio不正确,因为我仍然会出错。
现在,如果运行命令python3 filename.py,将得到以下输出:
Traceback (most recent call last):
File "taurus1_telemetry_parser.py", line 26, in <module>
from . import by701_telemetry
ImportError: cannot import name 'by701_telemetry'按照下面的注释中的建议,我使用命令pybombs remove gnuradio uhd成功地卸载了gnuradio的pybombs版本,只安装了ppa版本。
由于gnuradio配置有太多问题,我试着看看是否可以轻松卸载ppa版本,然后重新开始使用gnuradio。我进入我的gnuradio目录(Desktop/gnuradio/build),并尝试了一个make uninstall。执行make uninstall进程不会产生任何错误,但这似乎并没有将gnuradio完全从我的系统中删除。
在/usr/local/lib/python3/dist-packages中仍然可以找到gnuradio,并且当我尝试运行python脚本时仍然会得到ImportError。然而,现在当我输入head /usr/local/bin/gnuradio-companion时,我会得到以下消息:
head: cannot open '/usr/local/bin/gnuradio-companion' for reading: No such file or directorywhich gnuradio-companion的输出是:
/usr/bin/gnuradio-companion我现在有点不知所措了。对于如何修复或卸载gnuradio有什么想法吗?
发布于 2020-01-25 13:19:31
问题很可能是,您是用python2启动程序的,而gnuradio是用python3编译的。
您需要显式地指定程序的第一行需要使用python3解释器(这一行称为谢邦 )。
#!/usr/bin/python3或以下列方式启动程序
$ python3 ./my_program.py我通过ppa安装了gnuradio,还有炸炸弹。
有两个版本可能会导致很多问题。我的建议是使用PPA版本,并移除安装有PPA的版本。
$ pybombs remove gnuradio uhdhttps://stackoverflow.com/questions/59906878
复制相似问题