Python - 多版本共存与虚拟独立环境
背景
利用pip直接在本地python环境安装包,基本上都安装到了site_package目录下面。
随着安装的包越来越多,依赖关系也就越来越复杂。不同的项目之间,依赖关系也会出现版本冲突的问题。
此时,独立的Python环境便可以很好地解决以上问题。
简单来说,每一个项目都可以拥有一个独立的Python环境,所需的包也只需要安装到各自项目环境中。
参考信息
- Windows系统下安装使用virtualenv:http://www.cnblogs.com/anliven/p/7995301.html
- virtualenv&virtualenvwrapper的使用:http://www.cnblogs.com/codechangemyworld/p/5277032.html
- python多版本管理pyenv和virtualenv虚拟开发环境:http://www.cnblogs.com/codechangemyworld/p/5710728.html
快速建立Python环境的方法
1-获取requirement.txt文件(在先前Python环境中,由pip freeze命令生成)
2-利用virtualenv创建一个虚拟环境
3-在创建的虚拟环境中,运行“pip install -r requirement.txt"完成后,确认环境信息
Items | Description | Type | Comments |
pyenv | https://github.com/yyuu/pyenv/ 解决了同一个主机上多个 python 版本共存的问题。 可以对多个python版本进行安装、卸载、配置和切换。 配合pyenv-virtualenv 插件可以方便创建隔离的虚拟环境。 |
版本环境切换工具 |
Linux |
virtualenv |
创建和配置隔离的专属Python 虚拟环境,同时支持 python2 和 python3。
将一个目录建立为隔离的虚拟python环境,并为每个虚拟环境指定 python 解释器。
虚拟环境之间相互独立,可以建立为单个项目创建多个相同的虚拟环境;
注意:在创建虚拟环境时,可通过指定选项来选择是否继承系统Python环境中的包。
|
虚拟环境切换工具 |
Linux Windows |
virtualenvwrapper |
基于virtualenv的一个封装(wrapper),将所有的虚拟环境统一管理。
简化了virtualenv命令的使用,更便利地创建、激活、管理和销毁虚拟环境。
|
虚拟环境切换工具 |
Linux |
virtualenvwrapper-win |
https://pypi.python.org/pypi/virtualenvwrapper-win 针对 Windows的 virtualenvwrapper。 |
虚拟环境切换工具 |
Windows |
Pipenv
通常Python开发人员将使用Virtualenv创建一个虚拟环境,再创建一个依赖包列表requirements.txt,然后使用 Pip进行安装。
但通常都会面临如下问题:
- 版本出现异常时, 必须手动安装或删除某些特定版本的包
- 必须定期更新requirements.txt文件,以保持项目环境的一致
- 针对不同的环境配置,会有多个requirements.txt文件
使用Pipenv可以有效避免上面的问题。
Pipenv是一个强大的命令行工具,简化了Python项目中依赖项的管理,汇集了Pip,Pipfile和Virtualenv的功能。
- HomePage: https://github.com/pypa/pipenv
- Documentation:https://docs.pipenv.org/en/latest/
帮助信息:执行`pipenv -h`或者`pipenv <Command> -h`命令可以得到对应命令的帮助信息。
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。