Python之No module named xxx类问题解决思路(三十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中...... 】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中......】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮

1.前言

本篇目的:Python之No module named 'xxx'类问题解决思路。

2.开发中问题具体报错:

cpp 复制代码
# 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所有环境变量

cpp 复制代码
# 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>.修改的库

cpp 复制代码
目前所有的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

接着根据以上报错,继续执行,继续添加,直到不报错为止。

相关推荐
码界奇点12 分钟前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
浠寒AI17 分钟前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python
贩卖纯净水.22 分钟前
浏览器兼容-polyfill-本地服务-优化
开发语言·前端·javascript
k要开心27 分钟前
C++概念以及基础框架语法
开发语言·c++
开发者工具分享1 小时前
如何应对敏捷转型中的团队阻力
开发语言
行云流水剑1 小时前
【学习记录】如何使用 Python 提取 PDF 文件中的内容
python·学习·pdf
gregmankiw1 小时前
C#调用Rust动态链接库DLL的案例
开发语言·rust·c#
roman_日积跬步-终至千里2 小时前
【Go语言基础【20】】Go的包与工程
开发语言·后端·golang
秦少游在淮海2 小时前
C++ - string 的使用 #auto #范围for #访问及遍历操作 #容量操作 #修改操作 #其他操作 #非成员函数
开发语言·c++·stl·string·范围for·auto·string 的使用
const5442 小时前
cpp自学 day2(—>运算符)
开发语言·c++