Linux Yocto系统python配置问题及解决办法

前言

使用MTK 8516 平台配置linux Yocto系统配置python环境时遇到了很多报错,把这些问题和解决办法记录下来,方便大家参考。

1. pip install 已导入,但是impot 提示 no module named

参考链接:https://blog.csdn.net/qq_39915318/article/details/106003608

解决办法:在linux命令行下使用 expert 工具:

export PYTHONPATH=/usr/local/lib/python3.5/dist-packages

此时,可以打印 echo $PYTHONPATH 查看一下是否添加成功:
在Yocto系统下默认的python3.5的库下载路径是:/usr/lib/python3.5/site-packages,
所以命令应该是:

export PYTHONPATH=/usr/lib/python3.5/site-packages。

2. 安装numpy报错RuntimeError: Running cythonize failed!

解决办法:编译安装cython

3. 安装numpy提示 RuntimeError: Broken toolchain: cannot link a simple C program

这个其实是pip 在更新numpy的时候出的问题。
解决方法:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future  pip3 install numpy

在Python27\Lib\distutils\msvc9compiler.py 文件中,找到
mfinfo = self.manifest_get_embed_info(target_desc, ld_args)行将其改为
mfinfo=none

在linux系统中使用find命令:
find -name ‘msvc9compiler.py’
/usr/lib64/python3.5/distutils/msvc9compiler.py

4. 提示‘no such file “ref.txt”’

是python中绝对路径和相对路径的问题,修改path为当前文件的绝对路径。
方法:

filepath = os.path.dirname(__file__) + '/'

5. 安装包出现问题,主要是from aip import AipSpeech、import speech_recognition as sr中的aip、speech_recognition包为啥安装不成功?

解决办法:这两个包比较特殊,在import的时候是aip和speech_recognition,但在install安装的时候分别是baidu-aip和SpeechRecognition,

6. 使用ffmpg将多声道合并为单声道:

ffmpeg -i 1.wav -f wav -ac 1 -ab 16 -y mono.wav

7. 提示:UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘\u3002’ in position 22: ordinal not in range(128)。

原因:linux环境中的输出编码是ansi,不是utf-8。

参考链接:utf-8问题

解决办法:前面加一个条件:PYTHONIOENCODING=utf-8 ,
即执行

PYTHONIOENCODING=utf-8 python3 A1hub.py 

8. 提示:{‘err_detail’: ‘4: Open api request limit reached’, ‘err_msg’: ‘4: Open api request limit reached’, ‘err_no’: 502, ‘err_subcode’: 4, ‘tts_logid’: 885259082}

问题原因:百度api中没有开通语音合成服务。

解决办法:在百度控制台中开通语音合成服务(可领取5000次免费额度)。

9. 提示:OSError: [Errno 30] Read-only file system: '/usr/lib/python3.5/site-packages……

原因:文件夹为只读,需要加写的权限。

方法:执行

mount -o remount,rw rootfs /

10. 百度TTS api 输出wav文件格式乱码。

问题:百度TTS api 内没有设置输出文件格式。

参考链接:https://www.cnblogs.com/Jorgensen/p/11546486.html

解决方法:aue参数选择6。6对应wav格式,默认是输出mp3格式。

参数解释:
PER = 0# 发音人选择, 基础音库:0为度小美,1为度小宇,3为度逍遥,4为度丫丫,# 精品音库:5为度小娇,103为度米朵,106为度博文,110为度小童,111为度小萌,默认为度小美
SPD = 4# 语速,取值0-15,默认为5中语速
PIT = 5# 音调,取值0-15,默认为5中语调
VOL = 5# 音量,取值0-9,默认为5中音量
AUE = 3# 下载的文件格式, 3:mp3(default) 4: pcm-16k 5: pcm-8k 6. Wav
FORMATS = {3: “mp3”, 4: “pcm”, 5: “pcm”, 6: “wav”}
FORMAT = FORMATS[AUE]

11. 提示:RankWarning: Polyfit may be poorly conditioned

问题原因:MAC 升级BigSur 后python3.9跟numpy不兼容。

解决办法:先执行

brew install openblas

再执行

OPENBLAS="$(brew --prefix openblas)" pip3 install numpy

12. 安装Matplotlib库报错(macOS,BigSur版本)

原因:升级setuptools到版本51。

参考链接:https://stackoverflow.com/questions/64884415/cant-install-matplotlib-on-macos-big-sur

方法:

pip3 install setuptools==51 --user
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值