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 (具體根據文件下的文件名字版本)