您的位置:首页 > 编程语言 > Python开发

新手容易懵之—Python虚拟环境

2016-04-03 14:22 471 查看
[简单说明一下pyenv、venv(pyvenv)、virtualenv之间的区别,新手容易懵,自己已近踩过坑了,>_<# ]

最近学习Flask开发框架,看官方文档建议安装virtualenv来搭建虚拟环境进行学习和开发。因为以前不曾接触过这个工具,所以就先查了一下virtualenv的资料。但一查就有些懵了,记得看Python3.4 Documentation的时候标准库里面已近有一个创建虚拟环境的模块了,这个virtualenv又是要干嘛呢?Python3.4标准库自带的创建虚拟机的模块为venv,脚本命令为pyvenv。所以,赶紧再查,然而一字之差害死人了,居然查到了pyenv和virtualenv的区别去了,完全走错了方向。所以,怎么看都跟自己已有的知识储备对不上号。再次仔细把Documentation翻出来看才发现了上面查询时关键字的错误,还好及时纠正,不然自己就要给自己挖坑了。所以,现在问题变成了pyenv、venv(pyvenv)、virtualenv之间的区别了,而且这个问题很重要,无论是学习还是生产环境都很重要。

简单的总结如下:

pyenv是第三方的、开源的多版本Python管理工具,用以管理在一台机器上多个Python发行版本的共存问题,比如一台Linux机器上同时安装Python2.7、Python3.4、Python3.5三个版本的管理;

venv模块是Python3.3之后标准库自带的虚拟环境创建和管理工具,在一定程度上能够替代virtualenv。但venv是Python3.3才有的,Python2.X不能使用,而virtualenv同时支持Python2.X和Python3.X,特别是在当前的生产环境中Python2.X还占有很大比例的情况下我们依然需要virtualenv。

下面是几篇相关的博文以资参考:

zrong’s blog 《Python虚拟环境》 http://zengrong.net/post/2167.htm 强力推荐,讲得十分细致全面

关于pyenv 《Linux 下的 Python多版本管理(pyenv)》/article/2196680.html

BASIN OF ATTRACTION 在Python3.4环境中使用pyvenv(即venv模块)替换Flask官方推荐的virtualenv的实践笔记 http://huangziwei.com/tech/pyvenv/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: