Ubuntu Error: No module named 'apt_pkg' 怎么办?

摘要:
但是,必须标记源https,并出现错误:sudogedit/usr/bin/opt-add repository。我们会发现,所谓的“apt-add repository”命令实际上是一个Python脚本。Python 3.5表示Python 3与我的ubuntu上的Python 3.5链接。apt_ pkg.cpython-34m-x86_64-linux-gnu.so注意单词34m。
版权声明:任何博客都可以转载,但必须标注来源 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' 怎么办?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx的平滑升级创建虚拟环境 安装pytorch 0.3.1下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python 关于列表字典的键值修改

list (修改列表的索引值) 循环一个列表时,最好不要对原列表有改变大小的操作,这样会影响你的最终结果。 #使用负索引进行修改列表 print('First') lis = [11, 22, 33, 44, 55] print(lis) for num in range(len(lis)-1,-1,-1): if num % 2 != 0:...

shell命令--chpasswd

shell命令--chpasswd 0、chpasswd命令的专属图床 点此快速打开文章【图床_shell命令chpasswd】 1、chpasswd命令的功能说明 ​ chpasswd 批量修改用户密码,从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上已存在的用户的口令。格式为: 用户名:密码 注意事项 1:用户名必须是系统上已存在的...

Python 调用outlook发送邮件(转 )

单账号: import win32com.client as win32 def send_mail(): outlook = win32.Dispatch('Outlook.Application') mail_item = outlook.CreateItem(0) # 0: olMailItem mail_...

python MySQLdb安装和使用

MySQLdb是python的一个标准的连接和操纵mysql的模块。 下载地址; https://pypi.python.org/pypi/MySQL-python/1.2.4#downloads sourceforge地址: http://sourceforge.net/projects/mysql-python/ 说一下版本问题,去上面的网址可以看到,...

利用thrift在c++、java和python之间相互调用

转自:http://blog.csdn.net/andy_yf/article/details/7487384 thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。 下面记录以C++做服务器,C++,java和python做客户端的示例,这个和本人现在工作环境吻合,使用多线程长连接的socket来建立高效分布式系统的跨语...

9个最佳的大数据处理编程语言(转载自物联网智库)

大数据的浪潮仍在继续。它渗透到了几乎所有的行业,信息像洪水一样地席卷企业,使得软件越发庞然大物,比如Excel看上去就变得越来越笨拙。数据处理不再无足轻重,并且对精密分析和强大又实时处理的需要变得前所未有的巨大。 刚开始学习数据科学的人都会面对同一个问题: 不知道该先学习哪种编程语言。 不仅仅是编程语言,像Tableau,SPSS等软件系统也是同样的情况...