我已经使用 Macports 在系统上安装了 python25 和 python26。现在我想卸载 python25 和所有没有实际依赖项的 py25-* 包。不幸的是,当我这样做时
port dependents python25
我得到了一长串依赖项列表,其中包括 mercurial 和 bzr 之类的东西。当我这样做时
port info mercurial
我看到 mercurial 依赖于 python26。我知道我可以通过以下方式强制删除 python25:
port uninstall -f python25
但我想知道是否有办法让 Macports 知道 mercurial 不再依赖于 python25。
答案1
MacPorts 目前不会升级已安装软件包的依赖关系树。也就是说,如果 mercurial 从您安装时对 python25 的依赖转变为对 python26 的依赖,它将继续认为它需要 python25,直到您卸载它。简单地升级软件包无法修复此行为。
尝试卸载 mercurial 然后重新安装它。
答案2
一般来说,没有办法让 macports 知道端口 A 不再依赖于端口 B。但对于这种情况,mercurial 实际上似乎可以很好地与 python25 和 python26 配合使用。(尽管端口配置文件只能选择一个依赖项。)因此,简单地用 python26 替换 python25 不会破坏 mercurial。