使用Debian包而非pip包

0 投票
1 回答
860 浏览
提问于 2025-04-18 06:33

我遇到了一个奇怪的问题,就是在同一个系统里,Debian包和pip包不能很好地共存。比如说,我已经安装了python-requests的Debian版本(0.8.2)。然后当我用pip安装requests的版本(2.2.1)时,系统只使用了Debian的那个版本,而没有更新到pip的新版本。有没有人能帮我解决这个问题?谢谢大家!

1 个回答

0

关于通过系统包和pip安装Python包,你需要有一个清晰的计划。

我个人遵循以下规则:

只通过系统安装包安装最基本的Python包

在这里,我会包括supervisord,前提是我的系统不是太旧。

不要通过系统包安装pipvirtualenv

特别是去年,很多情况下,系统包的版本远远落后于实际需要的版本。

使用Virtualenv,并优先在这里安装包(通过pip)

这样可以保持你的系统Python相对干净。刚开始可能需要一点时间适应,但其实很简单,尤其是如果你使用virtualenvwrapper,在开发过程中会帮助很多。

为快速安装编译包准备条件

有些包需要编译,而这通常会因为缺少依赖而失败。

这样的包包括lxmlpyzmqpyyaml等。

确保你要使用哪些包,提前在系统中准备好这些包,这样你就能在virtualenv中安装它们。

优化编译包的安装速度

有一种很棒的包格式(可以通过pip使用),叫做wheel。这允许在同一平台上以极快的速度安装包(比如lxml),相比于几分钟的编译时间,这个速度快得多。你可以查看我在这个话题上的回答

撰写回答