python:如何重建需要编译的依赖项

时间:2014-04-16 16:12:08

标签: python pip

由于存在大量依赖性,我的python应用程序的虚拟环境的安装在部署期间花费了太多时间。为了缩短这个时间,我想在git中包含驻留在虚拟环境中的依赖项,以便它们在部署时已经存在。

主要问题是由于机器之间的架构差异,需要重建与C代码的依赖关系。

有没有办法在我的虚拟环境中重建需要编译的所有依赖项?

1 个答案:

答案 0 :(得分:1)

轮格式是您需要的

热门示例是lxml,在Linux上从源代码安装时需要大约3分钟才能下载,编译和安装。

使用wheel格式并从本地wheel文件安装lxml安装在几分之一秒内。

有关我如何使用它的详细说明,请参阅更正后的链接Detailed SO answer how to configure pip。说明如何利用车轮

了解更多信息:

一些注意事项:

  • 纯python包可以轮子形式分发,无论目标平台如何(除了可能依赖于python版本)。

  • 编译的python包应该在同一个平台上构建,你将在那里安装它们。可能有一些交叉编译选项,但我没有真正的经验。

  • 有些人会考虑使用“未来包装格式”的轮子,其他人声称它应该建立在你自己的一面并使用你自己的轮子。后一种情况是lxml没有作为轮子提供 - 请参阅launchpad issue related to lxml in wheel format。如果你愿意,可以考虑将自己添加为受影响的人。

一旦你第一次使用轮子,你会喜欢它。