我正在尝试理解使用virtualenv与本地python安装的区别(好处/损害)。我有许多已经开发的python模块,它们具有许多python依赖项(例如,numpy,scipy,nose等)。部署它的一个途径是使用virtualenv,然后将它们安装在virtualenv中,我预见到的问题是用户可以使用过时的蟒蛇。另一个选项是bundle python 2.7,然后在那个python 2.7的本地站点库中安装应用程序。
如果python版本相同,这两个替代方案最终会采用相同的解决方案吗?
谢谢,吉姆
答案 0 :(得分:2)
如果您正在考虑将部署独立应用程序部署到可能安装或未安装正确(或任何)Python版本的用户,那么捆绑您的模块及其依赖关系当然更有意义使用所需的Python版本。
virtualenv的观点是,你可以拥有一个沙盒版本的Python,无论你做什么,它都不会破坏你的本地安装。如果您想安装12个依赖项来试验某些内容,然后在完成后将其全部擦除,那就没问题了。如果您在使用同一个库的三个不同版本开发的Web服务器上有四个应用程序,则不必交叉并强制它们全部使用最新的应用程序。