由于存在大量依赖性,我的python应用程序的虚拟环境的安装在部署期间花费了太多时间。为了缩短这个时间,我想在git中包含驻留在虚拟环境中的依赖项,以便它们在部署时已经存在。
主要问题是由于机器之间的架构差异,需要重建与C代码的依赖关系。
有没有办法在我的虚拟环境中重建需要编译的所有依赖项?
答案 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。如果你愿意,可以考虑将自己添加为受影响的人。
一旦你第一次使用轮子,你会喜欢它。