环境:Ubuntu-18.04,安装Vulhub——docker-compose时遇到pip报错解决方案,仔细阅读,希望你的问题会得到解决,谢谢。
一、出现问题
安装Vulhub时到了安装docker-compose哪步,提示没有pip,输入apt install python-pip
安装pip,接下来开始报错,以下为报错信息
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
python-pip : 依赖: python:any (< 2.8)
依赖: python:any (>= 2.7.5-5~)
推荐: build-essential 但是它将不会被安装
推荐: python-all-dev (>= 2.6) 但是它将不会被安装
推荐: python-setuptools 但是它将不会被安装
推荐: python-wheel 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
1、产生原因(该解释来源百度)
系统中已经安装了被依赖的包的高版本。例如在我安装 openssh-server 时,有一个对于 openssh-client
的依赖,但是我系统中已经提前安装了openssh-client 这个包,并且版本高于所要求的这个版本,导致安装失败。
二、解决方案
解决方案有两种,第一种是安装制定版本号的被依赖包,也就是手动降级。
第二种是网上所说的下载aptitude进行安装,这里主要介绍这种安装方法。
1、第一步安装aptitude:
输入命令sudo apt-get install aptitude
2、使用aptitude对依赖包进行智能处理
输入命令aptitude install python-pip
,以下为系统信息。供大家参考。
下列“新”软件包将被安装。
......
python-setuptools{a} python-six{a} python-wheel{a} python-xdg{a}
python2.7{ab} python2.7-dev{ab} python2.7-minimal{ab}
0 个软件包被升级,新安装 58 个, 0 个将被删除, 同时 0 个将不升级。
需要获取 60.1 MB 的存档。 解包后将要使用 175 MB。
下列软件包存在未满足的依赖关系:
libgcc-7-dev : 依赖: gcc-7-base (= 7.3.0-16ubuntu3) but 7.5.0-3ubuntu1~18.04 is installed
libmpx2 : 依赖: gcc-8-base (= 8-20180414-1ubuntu2) but 8.4.0-1ubuntu1~18.04 is installed
......
下列动作将解决这些依赖关系:
保持 下列软件包于其当前版本:
1) build-essential [未安装的]
2) dpkg-dev [未安装的]
3) g++ [未安装的]
4) g++-7 [未安装的]
.......
是否接受该解决方案?[Y/n/q/?] n
下列动作将解决这些依赖关系:
保持 下列软件包于其当前版本:
1) build-essential [未安装的]
2) dpkg-dev [未安装的]
3) g++ [未安装的]
4) g++-7 [未安装的]
5) gcc [未安装的]
6) gcc-7 [未安装的]
7) libasan4 [未安装的]
8) libatomic1 [未安装的]
降级 下列软件包:
18) libc6 [2.27-3ubuntu1.2 (now) -> 2.27-3ubuntu1 (bionic)]
19) libc6-dbg [2.27-3ubuntu1.2 (now) -> 2.27-3ubuntu1 (bionic)]
20) libexpat1 [2.2.5-3ubuntu0.2 (now) -> 2.2.5-3 (bionic)]
21) libpython2.7 [2.7.17-1~18.04ubuntu1.1 (now) -> 2.7.15~rc1-1
是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
libc6 libc6-dbg libexpat1 libpython2.7 libpython2.7-minimal
libpython2.7-stdlib
下列“新”软件包将被安装。
libc-dev-bin{a} libc6-dev{a} libexpat1-dev{a} libpython-all-dev{a}
libpython-dev{a} libpython-stdlib{a} libpython2.7-dev{a}
linux-libc-dev{a} manpages-dev{a} python{a} python-all{a}
python-all-dev{a} python-asn1crypto{a} python-cffi-backend{a}
python-crypto{a} python-cryptography{a} python-dbus{a} python-dev{a}
下列软件包被“推荐”安装但是将“不会”被安装:
build-essential
0 个软件包被升级,新安装 36 个, 6 个被降级, 0 个将被删除, 同时 0 个将不升级。
需要获取 50.7 MB 的存档。 解包后将要使用 87.0 MB。
您要继续吗?[Y/n/?] y
读取: 1 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 libc6-dbg amd64 2.27-3ubuntu1 [5,161 kB]
读取: 2 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 libc6 amd64 2.27-3ubuntu1 [2,824 kB]
读取: 3 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 libpython2.7 amd64 2.7.15~rc1-1 [1,053 kB]
读取: 4 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 libexpat1
已下载 50.7 MB,耗时 2分 11秒 (387 kB/s)
正在从软件包中解出模板:100%
正在预设定软件包 ...
dpkg: 警告: 即将把 libc6-dbg:amd64 从 2.27-3ubuntu1.2 降级到 2.27-3ubuntu1
(正在读取数据库 ... 系统当前共安装有 130336 个文件和目录。)
正准备解包 .../libc6-dbg_2.27-3ubuntu1_amd64.deb ...
正在将 libc6-dbg:amd64 (2.27-3ubuntu1) 解包到 (2.27-3ubuntu1.2) 上 ...
dpkg: 警告: 即将把 libc6:amd64 从 2.27-3ubuntu1.2 降级到 2.27-3ubuntu1
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 gnome-menus (3.13.3-11ubuntu1.1) 的触发器 ...
正在处理用于 mime-support (3.60ubuntu1) 的触发器 ...
root@zjp-virtual-machine:/home/zjp#
这里我简略了大部分系统信息,只保留关键部分
需要注意的是三次 [Y/n/?]
第一次是N,二次和三次都是Y。
最后输入,升级pip版本。
python -m pip install --upgrade pip
验证:
输入命令:apt install python-pip
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
python-pip 已经是最新版 (9.0.1-2)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
至此pip安装出错的问题得到解决。
参考文章:
https://www.pianshen.com/article/787377290/
https://bbs.csdn.net/topics/390462321