1. python 为什么要使用虚拟环境
- 在开发过程中,我们可能会开发多个项目,各个项目可能使用相同库的不同版本,因此我们需要一种方法来实现这一点。随之而来的是虚拟环境,它使我们能够为我们开发的每个应用程序创建一个小型的、隔离的环境。我们已经看到了许多管理虚拟环境的工具:virtualenv、 venv、 virtualenvwrapper、 pyenv、 pyenv-virtualenv、 pyenv-virtualenvwrapper 等等。它们都可以很好地使用 pip 和 requirements.txt 文件。
- 作为python的开发者,在真正的开发需求完成并测试好之后,自然需要发布到正式的服务器,此时就会面临环境问题,假设服务器是一台全新的没有任何python第三方模块包,自然没有版本约束会好一点,但是那么包,也不一定全部记得,一个个手动安装始终是不现实的;再假设服务器是以前装好的,自然安装包之间会有版本问题,本机就算测试再好,在版本问题面前也都是白费。所以,需要一个虚拟的环境,在这个虚拟环境里面模拟出一个跟服务器一模一样的环境出来。
2. 使用pipenv管理虚拟环境
pip(pip2、pip3分别对应python的2、3版本)是python的包管理工具,使得python的第三方包的安装等任务十分方便(pip主要安装的第三方软件包来之python社区Pypi)。另外,很多python的虚拟环境工具如virtualenv、pyenv等等都得到了广泛使用,而requests库作者Kenneth Reitz开发了一个pipenv,结合了pip及virtualenv的功能和优点,集成出了