使用Debian包而非pip包
我遇到了一个奇怪的问题,就是在同一个系统里,Debian包和pip包不能很好地共存。比如说,我已经安装了python-requests的Debian版本(0.8.2)。然后当我用pip安装requests的版本(2.2.1)时,系统只使用了Debian的那个版本,而没有更新到pip的新版本。有没有人能帮我解决这个问题?谢谢大家!
1 个回答
0
关于通过系统包和pip安装Python包,你需要有一个清晰的计划。
我个人遵循以下规则:
只通过系统安装包安装最基本的Python包
在这里,我会包括supervisord
,前提是我的系统不是太旧。
不要通过系统包安装pip
或virtualenv
特别是去年,很多情况下,系统包的版本远远落后于实际需要的版本。
使用Virtualenv,并优先在这里安装包(通过pip)
这样可以保持你的系统Python相对干净。刚开始可能需要一点时间适应,但其实很简单,尤其是如果你使用virtualenvwrapper
,在开发过程中会帮助很多。
为快速安装编译包准备条件
有些包需要编译,而这通常会因为缺少依赖而失败。
这样的包包括lxml
、pyzmq
、pyyaml
等。
确保你要使用哪些包,提前在系统中准备好这些包,这样你就能在virtualenv中安装它们。
优化编译包的安装速度
有一种很棒的包格式(可以通过pip使用),叫做wheel
。这允许在同一平台上以极快的速度安装包(比如lxml
),相比于几分钟的编译时间,这个速度快得多。你可以查看我在这个话题上的回答。