虚拟环境

1 概念

在正常开发中 我们会给每一个项目配备一个该项目独有的解释器环境,这个环境叫做虚拟环境
因其是依赖现电脑上现有python解释器而创建的, 而不是单独再下载一个python解释器.所以叫虚拟环境.
该虚拟环境内只有该项目用到的模块 用不到一概不装
 

2 优点

    1、一个项目一个环境:  使得不同项目开发环境相互独立
    2、某环境中模块升级不影响其他项目中模块,因为环境间是独立的,模块只在当前虚拟环境中有效.
    3、防止出现包管理混乱及包版本冲突
 

3 安装虚拟环境

 

3.1---windows中

 
3.1-1 安装模块
  • 以下讲的是虚拟环境的主流解决方案,还有其他的,其他是小众,但原理一样
  • pip3 install virtualenv  # 虚拟环境模块
  • pip3 install virtualenvwrapper-win  # 为方便快捷使用虚拟环境而设的模块
演示1
  • 下面含义是: 已经存在了
演示2
说明:
 
3.1-2  配置虚拟环境的工作路径
  • 配置环境变量
  • 若只是当前用户用, 配到当前用户变量中即可; 若是所有用户都用,配到系统变量中.当然配哪里都可以.
 
  • 变量名:WORKON_HOME  变量值:自定义存放虚拟环境的绝对路径
  • eg: WORKON_HOME: D:\Virtualenvs
 
3.1-3 执行一个可执行文件, 同步配置信息
  • 去向Python3的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击
  • .bat是批处理文件,也是可执行文件
 
 

3.2 ---MacOS, Linux

 
3.2-1 安装模块  
  • pip3 install virtualenv  # 虚拟环境模块
  • pip3 install virtualenvwrapper  # 为方便快捷使用虚拟环境而设的模块
 
3.2-2 工作文件
找见virtualenvwrapper.sh  ---其跟 virtualwrapper.bat是一个意思
  • MacOS中可能在: /Library/Frameworks/Python.framework/Versions/版本号文件夹/bin
  • Linux中可能在: /user/local/bin 或~/.local/bin 或 /user/bin
    • ~ 意思是家路径  
    • 建议不管virtualenvwrapper.sh在哪个目录, 复制一份到 /user/local/bin
 
3.2-3 配置 
配置用户的环境变量:  在~/.bash_profile  
配置语句1->指定用哪个python解释器创建虚拟项目: 
  • VIRTUALENVWRAPPER_PYTHON=/user/loacal/python3
配置语句2  ->source /user/local/bin/virtualenvwrapper.sh
配置语句3
  • 在家路径下创建一个目录: ~/.virtualenvs<上面windows中是在D盘创建一个Virtualenvs文件夹>
配置语句4
  • 然后 source ~/.bash_profile让配置生效
 
 
其他笔记:
 
 

3.3 使用

 
3.3-1 创建虚拟环境
-- mkvirtualenv -p python36 虚拟环境名称
  • 含义: 用python36解释器创建一个名字为xxx的虚拟环境
    •    用的python36解释器是电脑本身已经存在的.并不是重新下载.
    • 即此处虚拟环境用的python解释器是依赖于原来电脑的python36解释器
注意:

 

 

 
其中: 创建位置  
 
>>>关于虚拟环境的项目不在配置的环境变量的路径下原因
  • window中配完环境变量后要重新打开cmd
 
3.3-2
查看此时虚拟环境中有几个模块
 
3.3-3
敲python进的就是虚拟环境的python
 
3.3-4
给虚拟环境下一个django, 这里的django是跟系统的django没有任何联系的
 
3.3-5 退出虚拟环境以及查看当前有哪些虚拟环境
 
3.3-6 进入虚拟环境
 
3.7 删除某虚拟环境
  • rmvirtualenv 虚拟环境名字
 
3.8 查看virtualenv 的安装路径
  where virtualenv
  其实安装在哪,是由安装时用的pipx.x install  virtualenv 的pipx.x 去电脑环境变量找的路径下.

 

 

 
posted @ 2022-07-17 18:16  tslam  阅读(238)  评论(0编辑  收藏  举报