我对目前部署Python代码的方式感到不满意,我想知道是否有更好的方法。首先,我会解释我在做什么,然后弊端:如何分配和部署具有依赖关系隔离的Python 3代码
- 当我发展,我使用的virtualenv做扶养隔离和使用PIP安装的所有库。 Python本身来自于我的OS(Ubuntu的)
- 然后,我建我的代码为“.deb文件” Debian软件包,包括我的源树和我的依赖关系
- 画中画束然后,当我部署,我重建的virtualenv环境,源富/斌/启动,然后运行我的程序(在Ubuntu的暴发户)
这里有问题:
- 画中画束是相当大的,并显著增加了Debian软件包的大小。这并不太大,但是很烦人。
- 我每次部署时都必须构建所有的C库(PyMongo,BCrypt等)。这需要一点时间(几分钟),这是一个有点跛做这个CPU绑定工作在生产
这里是我的约束:
- 必须对Python 3的优选为3.2 工作
- 必须有依赖性隔离
- 必须与使用C(像PyMongo)
我听说过冷冻库的东西的工作,但我还没有蜜蜂能够得到这个工作。 pypi的cx_freeze似乎没有编译(至少在我的Python上)。其他冻结实用程序似乎不适用于Python 3.我怎样才能更好地做到这一点?
库这是自动化 - 自动化不是我的问题。我的问题是速度很慢,需要编译生产 –
你看过“轮子”分发包吗? – sureshvv
车轮现在处于对这类问题有用的地步 –