使用 checkinstall 安装的库创建了一个名为“python”的包并导致依赖性问题

使用 checkinstall 安装的库创建了一个名为“python”的包并导致依赖性问题

我想尝试一下名为 gtsam 的 C++ 库的新主要版本。由于我目前正在为几个项目使用该库的旧版本,并且我不确定依赖性问题,因此我决定使用 checkinstall 来安装它:

mkdir build && cd build
make
sudo checkinstall

因为它附带了一个我也想安装的 python 包装器,所以我这样做了:

cd python
sudo checkinstall python setup.py install

现在我想再次删除该版本,因此我检查了该库安装在哪个包名下。

主库被称为“build”,我已经发现它很奇怪,尽管我可以使用以下命令将其删除:

sudo dkpg -r build

当我现在尝试做同样的事情时:

sudo dpkg -r python

它抱怨依赖性问题,因为它将“python”解释为主要的 ubuntu python 包。

如果我这样做,dpkg -l python我会得到:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                     Architecture                Description
 +++-=============================================-===========================-===========================-==================================================
ri  python                                        20160629-1                  amd64                       Python part of gtsam-4.0.0-alpha1.

此时我实际上有点害怕,不知道该怎么做才能解决这个问题。我想卸载安装的文件,但又checkinstall python setup.py install不想破坏系统 python 设置的配置。

我实际上使用了 checkinstall,因为我确实不是想要担心恢复安装...

答案1

好的,我认为我解决了这个问题。

我发现apt-cache showpkg python我可以查看所有可用的不同 Python 版本。我选择了最新版本并使用以下命令进行安装:

sudo apt-get install python=2.7.5-5ubuntu3

它向我发出警告,它无法删除某些“旧目录”:

dpkg: warning: unable to delete old directory '/usr/local/lib/python2.7/dist-packages': Directory not empty
dpkg: warning: unable to delete old directory '/usr/local/lib/python2.7': Directory not empty
dpkg: warning: unable to delete old directory '/usr/local/lib': Directory not empty
dpkg: warning: unable to delete old directory '/usr/local': Directory not empty

但没关系,因为我确实尝试过解决这个问题没有删除这些目录。

现在如果我执行,dpkg -l python我会得到以下正确的输出:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                          Version                     Architecture                Description
+++-=============================================-===========================-===========================-====================================================================
ii  python                                        2.7.5-5ubuntu3              amd64                       interactive high-level object-oriented language (default version)

我会监视我的系统是否出现更多奇怪的行为,但目前看来这已经解决了这个问题。

相关内容