如何在使用“setuptools”的Python包中使用“checkinstall”

6 投票
1 回答
3574 浏览
提问于 2025-04-17 04:11

在Ubuntu或Debian系统上,我在从源代码安装软件包时会使用checkinstall这个工具。

比如,我会用命令sudo checkinstall make install来安装,或者用sudo checkinstall python setup.py install来安装Python包。

我遇到的问题是,使用setuptools的Python包(这些包会修改easy-install.pth文件)无法正确安装,因为每当我安装一个新的使用这个文件的Python包时,checkinstall都会要求我覆盖easy-install.pth

我知道可以用pip install <package>来安装包,但如果不通过checkinstall处理,Debian的包管理系统就无法“看到”这个包,这让我感到困惑。

我希望我说的术语是正确的,我想知道这个问题有没有解决的办法,我在想:

  • 是否可以让checkinstall与使用setuptools的Python包一起工作?或者
  • 是否可以用其他方式安装使用setuptools的Python包(比如在执行python setup.py install命令时,避免写入easy-install.pth,或者使用其他选项)?

1 个回答

2

你可以使用这个:

checkinstall --exclude /usr/local/lib/python2.7/dist-packages/easy-install.pth

撰写回答