版权声明:任何博客都可以转载,但必须标注来源 https://blog.csdn.net/nikoong/article/details/79612615

ubuntu经常用要添加PPA源,就是使用如下命令:

sudo add-apt-repository ppa:XXX

但不知什么时候开始,就出现了错误Error: No module named 'apt_pkg' 。

这个问题困扰我好久了,每次想解决,在网上忙活半天都没有找到解决办法。

今天我找到了答案。

 

第一步:sudo gedit /usr/bin/apt-add-repository

我们会发现所谓"apt-add-repository"命令其实就是一个python脚本,而且最上面一行写着:#! /usr/bin/python3

说明这是一个python3脚本。

第二步:sudo ls -l /usr/bin/python3

显示:/usr/bin/python3 -> python3.5

说明在我的ubuntu上python3是链接到python3.5的 。问题就在这个python3.5上。

第三步:

cd /usr/lib/python3/dist-packages/

ls apt_pkg*

显示: apt_pkg.cpython-34m-x86_64-linux-gnu.so

注意其中34m这个字样,这表示只有python3.4可以安全使用这个组件!而我们电脑python3是链接到python3.5的!

不同的ubuntu版本不一定显示34m,所以一定要自己去查查看这个文件。然后修改python3链接到对应版本。

说到这里解决办法就很简单了。

第四步:

sudo rm  /usr/bin/python3

sudo ln -s  /usr/bin/python3.4  /usr/bin/python3   (具体根据文件下的文件名字版本)

大功告成! 快去试试看apt-add-repository命令是不是可以用了!

最终奥义!!!

sudo apt-get remove --purge python-apt

sudo apt-get install python-apt -f

sudo find / -name "apt_pkg.cpython-35m-x86_64-linux-gnu.so"

cd /usr/lib/python3/dist-packages/

sudo cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.cpython-36m-x86_64-linux-gnu.so  (具体根据文件下的文件名字版本)

Ubuntu Error: No module named 'apt_pkg' 怎么办?的更多相关文章

  1. 更换python版本后出现 No module named "apt_pkg"

    本文链接:https://blog.csdn.net/jaket5219999/article/details/78464310 $ sudo apt-get remove --purge pytho ...

  2. Python 之 Module Not Found Error: No module named 'openpyxl'

    我在学习Python的过程中,计划将取到的数据保存到Excel文件中,使用 df.to_csv('D:/PythonWorkSpace/TestData/test.xlsx') 总是报错 Module ...

  3. python3安装docx模块出现Import Error: No module named 'exceptions'

    x首先 pip3 install docx 显示已经安装,但是 No module named 'exceptions' 网上查的资料命令行下载的docx安装包还没有完全兼容python3,第三方库应 ...

  4. ubuntu ImportError: No module named setuptools 一句命令解决方案

    https://blog.csdn.net/Super_jm_/article/details/81947563 使用pip安装文件时候提示  ImportError: No module named ...

  5. import Tkinter error, no module named tkinter: "Python may not be configured for Tk”

    install required devel module in your linux: yum install tk-devel yum install tcl-devel then,reconfi ...

  6. Ubuntu之No module named cv2

    最简单的方法是:pip install opencv-python 另外,从源码安装的方法: 1下载opencv源码:http://opencv.org/releases.html  推荐2.4.13 ...

  7. SaltStack error: No module named 'salt'

    启动saltstack的时候出现下面的错误 问题原因 是因为我在centos7中安装了多版本的python导致的 解决方案 将文件下面文件首行更改成python2 [root@saltstack-12 ...

  8. error:no module named StringIO or cStringIO

    一般遇到没有某个模块问题的时候,通常的解决方法是pip相应的模块: 不过,鉴于Python2和python3的不同(让人头疼) 解决方法:在python3中,该模块被新的模块取代,即io. 重新imp ...

  9. Import error: no module named cv2 错误解决方法

    Windows: 将opencv安装目录下的cv2.pyd拷贝到Python安装目录里Lib中site-packages Linux: (1)将opencv安装目录下的cv2.so拷贝到Python安 ...

随机推荐

  1. CF755G PolandBall and Many Other Balls/soj 57送饮料

    题意:长度为n的序列,相邻两个或单独一个可以划分到一个组,每个元素最多处于一个组. 问恰好分割成k(1<=k<=m)段有多少种方案? 标程: #include<bits/stdc++ ...

  2. 【JZOJ6419】模拟旅行&【BZOJ5506】【luoguP5304】旅行者

    description 某国有n座城市,这些城市之间通过m条单向道路相连,已知每条道路的长度. 不过,小X只对其中k座城市感兴趣. 为了更好地规划模拟旅行路线,提升模拟旅行的体验,小X想要知道他感兴趣 ...

  3. NX二次开发-UFUN CSYS坐标系转换UF_CSYS_map_point

    1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_curve.h> 5 #include <uf_csys.h> 6 ...

  4. Day9, 进程、线程、协程篇

    本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

  5. 码云的使用以及pycharm

    码云的使用 下载Git一路next 在码云上新建仓库 建立码云仓库 ​ 右键 git bash hero 依次输入 git config --global user.name "用户名&qu ...

  6. RHEL7中网卡绑定team和bond的区别

    red hat 官方给出的team和bond特性对比 A Comparison of Features in Bonding and Team Feature Bonding Team broadca ...

  7. Jupyter的使用复习

    Jupyter的使用 esc+m 切换到markdown模式 shift+enter 运行 a 向上新增代码块 b 向下新增代码块 y python代码模式 file-->download as ...

  8. Lucene 搜索方式

    Lucene 的搜索方式包括:词项查询(TermQuery) / 布尔查询(BooleanQuery) / 短语查询(PhraseQuery) / 范围查询(RangeQuery) / 百搭查询(Wi ...

  9. 几个实用的js函数

    在阅读JavaScript DOM编程艺术这本书时看到了一些比较实用的代码. //加载多个window.onload事件 function addLoadEvent(func) { var oldon ...

  10. C 常见字符串操作函数

    头文件 <string.h> 1. char *strstr(const char *str1, const char *str2);      判断str2是否为str1的子串  //s ...