我希望开始为django网络应用创建适当的隔离环境。我的第一个倾向是使用Docker。此外,通常建议在任何python项目中使用virtualenv
来隔离依赖项。
如果我通过Docker镜像隔离项目,是否还需要virtualenv
?
答案 0 :(得分:2)
如果您的Docker容器相对较长或您的项目依赖项发生了变化,那么使用Python虚拟环境仍然有价值。除了(相对)隔离代码库与其他项目和底层系统(特别是给定状态下的项目)的依赖关系之外,它还允许在给定时间表示需求状态的某种度量。
例如,假设您今天为您的Django应用程序制作了Docker镜像,并最终在接下来的三周内使用它。您是否看到您的requirements.txt
文件之间被修改?你能想象出一个环境变化附带的热点的场景吗?
从Python 3.3开始,virtual-env是stdlib,这意味着它的非常使用起来很便宜,所以我会继续使用它,以防万一Docker容器不是&按照你原先的计划,这是一次性的。换句话说,即使您的Docker-image管道非常成熟,并且Python和依赖项的版本已经预先制作好了,它也是如此低调的成果,虽然没有明确的必要,但它和" #39;值得坚持最佳实践。
答案 1 :(得分:0)
不,不是真的,如果每个Python / Django都将存在于它自己的容器中。