我想升级到python-pillow
但默认安装(Ubuntu 14.04.5)已经给了我python-pil
。
> sudo apt-get install python-pillow
...
dpkg: error processing archive /var/cache/apt/archives/python-pillow_2.7.0-1_amd64.deb (--unpack):
trying to overwrite '/usr/bin/pilfont.py', which is also in package python-pil 2.3.0-1ubuntu3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
...
好的,有冲突。我直接删除这个包吧,因为我不需要它……
> sudo apt-get remove -f python-pil
...
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
python-allspeak-rest : Depends: python-pillow (>= 2.7.0)
python-imaging : Depends: python-pil but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
不妨尝试一下它所说的...
> sudo apt-get -f install
...
The following NEW packages will be installed:
python-pillow
...
dpkg: error processing archive /var/cache/apt/archives/python-pillow_2.7.0-1_amd64.deb (--unpack):
trying to overwrite '/usr/bin/pilfont.py', which is also in package python-pil 2.3.0-1ubuntu3
...
回到开始的地方。无法删除旧版本或安装新版本。我现在该怎么办?
更新:
我可以使用以下命令强制卸载 python-pil(来自这里):
sudo dpkg -r --force-depends python-pil
但现在我遇到了如下错误:
The following packages have unmet dependencies:
python-allspeak-rest : Depends: python-pillow (>= 2.7.0)
python-imaging : Depends: python-pil but it is not going to be installed
我不能同时安装两者但依赖关系却说我需要这样做。
答案1
如果您仍在寻找正确答案,那么您可以针对python-pillow
此问题提出错误报告。
apport-bug python-pillow
可能的解决方案:
/usr/bin/pilfont.py
更改中的名称python-pillow
,因为它是分叉。/usr/bin/pilfont.py
更改两者中的名称python-pillow
,python-pil
并且两者都应用于update-alternatives
创建/usr/bin/pilfont.py
符号链接。python-pillow
python-pil
在字段中声明Breaks:
,所以它们不能在同一个系统中一起安装(这就像扣动战争的扳机:D)。
顺便说一句,python-pillow
已从 Ubuntu 16.04 中删除。
答案2
这根本不是一个好的解决方案,但它对我来说是有效的(从评论中复制):
好吧,我终于通过在安装过程中允许文件覆盖让一切都正常运行sudo dpkg -i --force-overwrite /var/cache/apt/archives/python-pillow_2.7.0-1_amd64.deb
(参见这)。这不是一个好的解决方案,因为包管理器不知道这些文件来自哪个包。但至少我可以继续做我正在做的事情。