简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:Python之No module named 'xxx’类问题解决思路。
2.开发中问题具体报错:
# sudo add-apt-repository ppa:rock-core/qt4
Traceback (most recent call last):File "/usr/bin/add-apt-repository", line 15, in <module>from softwareproperties.shortcuthandler import ShortcutException
ModuleNotFoundError: No module named 'softwareproperties'
在添加ppa:rock-core/qt4源的时候,报python的错误,说缺少了softwareproperties库,那么怎么知道python去哪里查找这个softwareproperties库呢?
3.python调试技巧
<1>.打印python所有环境变量
# python3
# import sys
# sys.path
['','/usr/lib/python3.10','/usr/lib/python3/dist-packages', '/usr/lib/python310.zip','/usr/lib/python3.10/lib-dynload','/usr/lib/python3.10/site-packages']
<2>.在python系统库中查找:softwareproperties库
最后发现softwareproperties库在/usr/lib/python3/dist-packages目录中,系统已经加载这个路径了?为什么还报错呢?
于是将/usr/lib/python3/dist-packages/softwareproperties软连接到/usr/lib/python3.10/site-packages目录中,
结果报错还真的换了别的,说明python加载的库不在/usr/lib/python3/dist-packages目录,
而是在/usr/lib/python3.10/site-packages目录中。
于是就有了调试的方向,只要报错,就将/usr/lib/python3/dist-packages目录中的库软连接到/usr/lib/python3/dist-packages目录中。
<3>.修改的库
目前所有的python3的安装包都在:/usr/lib/python3/dist-packages,但是却走了/usr/lib/python3.10/site-packages路径。
第一步:
# sudo cp /usr/lib/python3/dist-packages/apt_pkg.cpython-31011-x86_64-linux-gnu.so /usr/lib/python3.10/site-packages
# sudo ln -s /usr/lib/python3.10/site-packages/apt_pkg.cpython-31011-x86_64-linux-gnu.so /usr/lib/python3.10/site-packages/apt_pkg.so# sudo ln -s /usr/lib/python3/dist-packages/aptdaemon /usr/lib/python3.10/site-packages/aptdaemon
# sudo ln -s /usr/lib/python3/dist-packages/aptsources /usr/lib/python3.10/site-packages/aptsources
# sudo ln -s /usr/lib/python3/dist-packages/launchpadlib /usr/lib/python3.10/site-packages/launchpadlib
# sudo ln -s /usr/lib/python3/dist-packages/softwareproperties /usr/lib/python3.10/site-packages/softwareproperties第二步:继续执行:
# sudo add-apt-repository ppa:rock-core/qt4
Traceback (most recent call last):File "/usr/bin/add-apt-repository", line 16, in <module>from softwareproperties.shortcuts import shortcut_handler
接着根据以上报错,继续执行,继续添加,直到不报错为止。