Python中的虚拟环境
- Python 应用经常需要使用一些包,第三方包或者模块,有时需要依赖特定的包或者库的版本,很多时候不同的 Python 应用所依赖的版本是冲突的,满足了其中一个,另一个则无法运行,解决这一问题的方法是虚拟环境
- 虚拟环境是一个包含了特定 Python 解析器以及一些软件包的自包含目录,不同的应用程序可以使用不同的虚拟环境,从而解决了依赖冲突问题,而且虚拟环境中只需要安装应用相关的包或者模块,可以给部署提供便利
虚拟环境工具:
- Virtualenv:
依赖当前系统中有哪些Python版本,只有当前系统中有的Python版本才可以创建对应的虚拟环境 - pyenv:
不依赖当前系统中有哪些版本,只要是Python有的版本都能在当前系统中创建虚拟环境
它的做法就是把我们想要的Python版本先下载到本地,然后再进行虚拟化操作
缺点是操作复杂,并且依赖Virtualenv,也就是说它最终还是用Virtualenv来进行虚拟环境的创建
Virtualenv使用
- 依赖当前系统中有哪些Python版本,比如我有3.7和3.8,那么Virtualenv就只能在这2个版本中创建虚拟环境
- 命令行下使用
- 安装:pip install virtualenv
使用:
- 选择要安装的目录
-创建: virtualenv -p python3.8 penv
-p:表示选择Python的版本
python3.8:表示虚拟环境的Python版本
penv:表示虚拟环境的名称
–no-pip:不需要安装 pip,默认为安装
–clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清除重建 - 启动虚拟环境:
进入penv/Scripts目录中,输入activate,回车 - 退出虚拟环境
输入deactive,回车 - 只对当前打开的终端有效
实战:
- 我当前是Python3.7的版本,现在要创建一个Python3.8的虚拟环境
1.创建环境:
virtualenv -p python3.8 env3.8
查看我的mypackage目录下面是否有env3.8的目录
2.进入Scripts目录下,输入activate启动虚拟环境
3.退出当前的虚拟环境,输入deactivate
关闭终端再重新打开显示的就是之前的3.7的版本