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

windows bat脚本中无法切换python虚拟环节 python无法创建虚拟环境_Python

查看我的mypackage目录下面是否有env3.8的目录

windows bat脚本中无法切换python虚拟环节 python无法创建虚拟环境_python_02

2.进入Scripts目录下,输入activate启动虚拟环境

windows bat脚本中无法切换python虚拟环节 python无法创建虚拟环境_pycharm_03

3.退出当前的虚拟环境,输入deactivate

windows bat脚本中无法切换python虚拟环节 python无法创建虚拟环境_虚拟环境_04

关闭终端再重新打开显示的就是之前的3.7的版本