Python - 多版本共存与虚拟独立环境
Python 环境 版本 虚拟 独立 共存
2023-09-14 08:59:10 时间
背景
利用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`命令可以得到对应命令的帮助信息。
相关文章
- 【整理】各种Python的IDE(集成开发环境)的总结和对比
- 【Python】python 日期操作
- python md5 问题(TypeError: Unicode-objects must be encoded before hashing)
- python基础教程项目五之虚拟茶话会
- Python - 一些值得阅读的PEP
- 使用Anaconda管理多个版本的Python环境
- vscode Python环境
- 使用Anaconda管理多个版本的Python环境
- 【Python基础】python爬虫之异步网络爬虫ǃ
- Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码
- Anaconda :利用Anaconda Prompt (Anaconda3)建立、设计不同python版本及对应库函数环境之详细攻略
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略
- 〖Python WEB 自动化测试实战篇③〗- python-selenium环境配置搭建
- 〖Python语法进阶篇⑭〗- 综合实战- 抽奖系统之项目介绍、环境搭建、搭建项目基础类
- 〖Python 数据库开发实战 - MongoDB篇②〗- Mac环境下的MongoDB数据库安装
- 娇滴滴的一朵花(Python实现)
- Docker环境更换python版本
- 从零开始学python | 使用Python映射,过滤和缩减函数:所有您需要知道的
- windows环境下学会使用conda 创建虚拟环境,解决python版本与库不兼容问题
- Ubuntu下完美切换Python版,即设置系统默认的python版本(亲测有效)
- Python编程:shelve模块-持久化python数据
- Python编程:查看python环境支持的whl
- Python编程:pyenv管理多个python版本环境
- python基础===jieba模块,Python 中文分词组件
- python分布式环境下的限流器
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 〖Python自动化办公篇㉑〗- python实现邮件自动化 - 定时发送邮件