文章目录
啊!我终于把代码调通了!有几个包的安装查了好多资料才找到那么几篇,赶紧记录一下
gr-mediatools
- 我看代码里的
import mediatools
还以为是啥呢,以为是python的一个库,结果发现并没有这样的moudle!以为这个库改名了,走了不少弯路 - 后来才看到一个github里有个包叫gr-mediatools,灵光乍现,链接在此
- 然后直接把解压后的文件夹复制到ubuntu中,放哪儿都行,我放的是gnuradio里
- 然后只需
cd gr-mapper-master
mkdir build
cd build
cmake ../
make -k
#-keep表示遇到错误继续
sudo make install
sudo ldconfig
#该命令链接动态库,否则无法调用库
在cmake之前需要改动两个地方
- 在gr-mediatools的lib文件夹中找到mediatools_audiosource_impl.cc文件
- 搜索
d_frame = avcodec_alloc_frame();
- 改成
d_frame = av_frame_alloc();
- 还有哦
sudo apt-get install libavcodec-dev libavformat-dev
gr-mapper
- 这里特别坑!!
- 因为代码中import了mapper,我一搜发现python里果然有mapper这个库,好像是投射相关的,还用到了拓扑学知识
- 安装好了之后代码还是报错,大概是说mapper.BPSK之类不对
- 然后又查到一篇相关博客,才知道有gr-mapper这东西
- 于是按刚刚安装gr-mediatools的方法安装好了gr-mapper,过程还算顺利
cd gr-mapper-master
mkdir build
cd build
cmake ../
make -k
sudo make install
sudo ldconfig
- 然而程序还是有错!!猜测可能是之前安装的mapper包的问题,默认import的是那个,于是
sudo uninstall mapper
- 再在终端运行一下,大功告成!
ubuntu终端运行py文件(该文件①包含多个py文件②这几个py文件相互调用)
- 只需对整个文件夹右击
- 选择“open in terminal”
./generate_alphabet.py
即可
关于py文件中注释有汉字导致程序报错
- 错误:SyntaxError: Non-ASCII character ‘\xe7’ in file demo.py on line 15, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
- 只需在文件开头加上
# -*- coding: utf-8 -*