当我尝试时:
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
在 Ubuntu 中,终端显示此错误消息:
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 27, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
我有两个版本的python,一个是2.7,另一个是3.5。
如何在python3.5上安装这个包?
我有一些与此完全不同的东西。我的失败了
No module named 'softwareproperties'
我的解决方案是:
sudo vim /usr/bin/add-apt-repository
Change package header from `python3` to `python3.4` (or lower)
当您最近升级或添加另一个
python3
软件包时,可能会发生这种情况。
ubuntu 18.04:
sudo vim /usr/bin/add-apt-repository
将包头从
python3
更改为 python3.6
只是插话,因为版本号可能已经改变。
修复摘要:将我的
python3
指向python 3.5而不是3.6
cd /usr/bin
rm python3
ln -s python3.5 python3
细节:我遇到了同样的问题,发现
/usr/bin/add-apt-repository
有一个shebang提示使用/usr/bin/python3
,它指向3.6。不过,我的系统上也有 3.5,并且必须经常切换它们,所以我将其切换回来,add-apt-repository
现在可以工作了。
我在 Ubuntu 20.04 和 python3 指向 python3.6 上遇到了同样的问题。
我不喜欢编辑系统文件或类似文件(例如/usr/bin/add-apt-repository)和更改某些命令的符号链接(python 非常“特殊”)。我建议遵循 Ubuntu 方式来管理同一命令的替代版本。
我有 python3 指向 python3.6,但也安装了 python3.8,所以我更新了替代方案以使 3.6 和 3.8 共存。
我建议的解决方案是让 python3 指向您使用“Ubuntu方式”管理替代方案的最后安装的版本。
sudo apt update && sudo apt upgrade && sudo apt install python3
python3 --version
which python3.8
sudo update-alternatives --config python3
如果列出了一些,请检查是否有最新安装的版本,如果是,请选择它,您应该可以解决您的问题。否则请记住优先级的最高值。 Ubuntu 将使用价值最高的替代方案。输入 Enter 按钮退出。
添加最后安装的版本作为替代。这里我使用版本的小数部分作为优先级。该命令需要 python3
sudo update-alternatives /usr/bin/python3 python3 /usr/bin/python3.8 8
IMO,有一个更简洁的解决方案可以绕过系统文件的修改:
sudo apt-get install --reinstall python3-apt
。
如果您使用的是
UBUNTU
,请更改为python3.8
版本或安装
sudo apt install python3.8-dev
跑步后
sudo apt-get install software-properties-common
我发现所有包含的东西
ModuleNotFoundError: No module named 'apt_pkg'
Reading package lists... Done
是一个Python问题。要解决这个问题,必须设置正确的 python 版本。 “正确版本”的含义取决于许多因素
sudo apt list --installed | grep python*
/usr/bin
ls -lha /usr/bin/python*
Traceback (most recent call last):
File "/usr/BAR/FOO # Is a python file and it varies
# For the case in this question the file is at
# /usr/bin/add-apt-repository
sudo
打开文件并添加“正确的python版本”#!/usr/bin/python3.6
# Above should be the first line of the file
这对我有用:
sudo apt-get install python3-apt --reinstall
cd /usr/lib/python3/dist-packages
sudo cp apt_pkg.cpython-38-x86_64-linux-gnu.so apt_pkg.so