我在使用 python 程序时遇到了一些问题。我正在尝试将gnuradio与gr-satellites的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
(以下评论编辑自原始帖子(
事实证明,我的系统被设置为运行python 2.7.15,而gnuradio运行python3。我根据此处发布的说明调整了我的系统,使其从python 3.6.8运行。这改变了我的系统以正确运行 python3.6.8,但我认为我错误地安装了 gnusradio,因为我仍然收到错误。
现在,如果我运行命令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
成功卸载了 gnus radio 的 pybombs 版本,正如下面的评论中所建议的那样,只留下安装了 ppa 版本。
由于 gnuradio 配置存在很多问题,我试图看看我是否可以轻松卸载 ppa 版本并使用 gnuradio。我进入了我的gnuradio目录(Desktop/gnuradio/build(并尝试了make uninstall
。执行make uninstall
过程没有产生任何错误,但这似乎并没有完全从我的系统中删除 gnumradio。
gnuradio仍然可以在/usr/local/lib/python3/dist-packages
中找到,当我尝试运行python脚本时,我仍然会收到ImportError。但是,现在当我输入head /usr/local/bin/gnuradio-companion
时,我收到以下消息:
head: cannot open '/usr/local/bin/gnuradio-companion' for reading: No such file or directory
which gnuradio-companion
的输出为:
/usr/bin/gnuradio-companion
我现在有点不知道该怎么做。关于如何修复或完全卸载 gnus radio 的任何想法?
问题很可能是你用python2启动程序,而gnuradio是用python3编译的。
你需要明确指定需要在程序的第一行使用 python3 解释器(这一行称为 shebang(
#!/usr/bin/python3
或按以下方式启动程序
$ python3 ./my_program.py
我通过ppa安装了gnuradio,以及pybombs。
有两个版本可能会导致很多问题。我的建议是使用 PPA 版本并删除安装有 pybomb 的版本
$ pybombs remove gnuradio uhd