Ubuntu Error: No module named 'apt_pkg' 怎么办?
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"><div class="article-copyright">ubuntu经常用要添加PPA源,就是使用如下命令:</div>
<div id="content_views" class="htmledit_views">
<p>sudo add-apt-repository ppa:XXX</p>
<p>但不知什么时候开始,就出现了错误Error: No module named 'apt_pkg' 。</p>
<p>这个问题困扰我好久了,每次想解决,在网上忙活半天都没有找到解决办法。</p>
<p><strong>今天我找到了答案。</strong></p>
<p><strong> </strong></p>
<p><strong>第一步:sudo gedit /usr/bin/apt-add-repository</strong></p>
<p>我们会发现所谓"apt-add-repository"命令其实就是一个python脚本,而且最上面一行写着:#! /usr/bin/python3</p>
<p>说明这是一个python3脚本。</p>
<p> </p>
<p><strong>第二步:sudo ls -l /usr/bin/python3</strong></p>
<p>显示:/usr/bin/python3 -> python3.5</p>
<p>说明在我的ubuntu上python3是链接到python3.5的 。问题就在这个python3.5上。</p>
<p> </p>
<p><strong>第三步:</strong></p>
<p><strong>cd /usr/lib/python3/dist-packages/</strong></p>
<p><strong>ls apt_pkg*</strong></p>
<p>显示: apt_pkg.cpython-34m-x86_64-linux-gnu.so (注意看显示的信息是否和我这个一致,如果不一致后面的例如:apt_pkg.cpython-35m-x86_64-linux-gnu.so 后面操作请改成具体显示的文件名)</p>
<p>注意其中34m这个字样,这表示只有python3.4可以安全使用这个组件!而我们电脑python3是链接到python3.5的!</p>
<p><strong>不同的ubuntu版本不一定显示34m,所以一定要自己去查查看这个文件。然后修改python3链接到对应版本。</strong></p>
<p>说到这里解决办法就很简单了。</p>
<p> </p>
<p><strong>第四步:</strong></p>
<p><strong>sudo rm /usr/bin/python3</strong></p>
<p><strong>sudo ln -s /usr/bin/python3.4 /usr/bin/python3 (<em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel">具体根据文件下的文件名字版本)</em></em></em></em></strong></p>
<p>大功告成! 快去试试看apt-add-repository命令是不是可以用了!</p>
<p> </p>
<p>最终奥义!!!</p>
<p>sudo apt-get remove --purge python-apt</p>
<p>sudo apt-get install python-apt -f</p>
<p><em>sudo find / -name "apt_pkg.cpython-35m-x86_64-linux-gnu.so" (</em><em id="__mceDel">注意看显示的信息是否和我这个一致,如果不一致后面的例如:apt_pkg.cpython-34m-x86_64-linux-gnu.so 后面操作请改成具体显示的文件名)</em></p>
<p><em id="__mceDel"><em id="__mceDel"></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel">cd /usr/lib/python3/dist-packages/</em></em></em></em></p>
<p><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"></em></em></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel">sudo cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.cpython-36m-x86_64-linux-gnu.so (具体根据文件下的文件名字版本)</em></em></em></em></em></p>
<p> </p>
</div>
</div><br><br>
来源:https://www.cnblogs.com/presleyren/p/11011129.html
頁:
[1]