版权声明:任何博客都可以转载,但必须标注来源 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. 自行制作yum源仓库

    背景 客户服务器为内网机器,centos7系统,且无法与外网连接.需要部署对应的LANMP环境及其它软件 解决思路 1.在阿里云服务器,利用阿里云的yum源仓库,下载对应软件及关联软件. 2.在客户机 ...

  2. Spring boot热部署实战

    1.介绍 在开发工程中,修改一点儿代码,想看效果就需要重新启动服务,这样会花费大量时间在重启服务上,通过devtools热部署可以大大减少重启服务的时间. 之所以能减少时间,是因为Spring Boo ...

  3. PHP headers_sent() 函数

    定义和用法 headers_sent() 函数检查 HTTP 报头是否发送/已发送到何处. 如果报头已发送,该函数返回 TRUE,否则返回 FALSE. 语法 headers_sent(file,li ...

  4. PHP ftp_site() 函数

    定义和用法 The ftp_site() 函数向 FTP 服务器发送 SITE 命令. SITE 命令没有标准化,在不同的服务器上不尽相同.对于处理文件权限或组关系方面的事情,SITE 命令很有用. ...

  5. bzoj1096题解

    [解题思路] 预处理spi=∑pj(j∈[1,i]),si=si-1+(xi-xi-1)*spi-1表示把工厂1~i-1的产品都运到工厂i的花费.于是把工厂j+1~i的产品都运到工厂i的花费为si-s ...

  6. 56 Marvin: 一个支持GPU加速、且不依赖其他库(除cuda和cudnn)的轻量化多维深度学习(deep learning)框架介绍

    0 引言 Marvin是普林斯顿视觉实验室(PrincetonVision)于2015年提出的轻量化GPU加速的多维深度学习网络框架.该框架采用纯c/c++编写,除了cuda和cudnn以外,不依赖其 ...

  7. nginx、php-fpm安装mongodb及驱动扩展

    1.安装mongodb linux下安装mongodb很简单,执行如下命令完成安装 wget http://downloads.mongodb.org/linux/mongodb-linux-i686 ...

  8. 数据结构C++版-栈

    一.概念 二.应用实例 1.进制转换 #include <stdlib.h> #include <iostream> #include <string> #incl ...

  9. go modules学习

    https://github.com/golang/go/wiki/Modules https://tonybai.com/2018/07/15/hello-go-module/ https://ww ...

  10. vs使用出现的一些常见错误(持续更新)

    vs2010编译出错时怎么会执行上一次的结果_百度知道https://zhidao.baidu.com/question/193018332.html