为什么需要虚拟环境?
1.辛辛苦苦写好一个项目,各种版本的第三方组件,凌乱的配置文件,在自己电脑上运行的十分流畅,想分享给同事使用,,,迁移过去之后,重建配置,各种跑不起来。
2.一些比较特殊的工具需要依托于不同的Python版本,就像 robotframework,仅仅支持Python 2.7和>= 3.6。
3.第三方库的管理,打包的时候避免有其他干扰的包。
4.等等

1.Python的虚拟环境方式

第一种.virtualenv

虚拟环境创建在当前目录下,所以每次启动都需要到虚拟环境所在的目录

  • 官网地址:https://virtualenv.pypa.io/en/latest/
  • python 在虚拟环境中运行 python虚拟环境原理_虚拟环境

  • 注意事项:虚拟环境只是从系统Python借用东西,实际上并不包含系统Python的所有数据。python可执行文件的版本在python.exe本身中进行了硬编码。
    因此,如果升级系统Python,即使现在除了可执行文件之外,所有其他内容(标准库,二进制库等)都是新版本,虚拟环境仍会在升级之前报告该版本。

  • 安装
pip  install  virtualenv
  • 使用
PS E:\Env> virtualenv   demo              ###创建虚拟环境  virtualenv   虚拟环境的名字(默认在当前路径)
created virtual environment CPython3.6.8.final.0-64 in 534ms
  creator CPython3Windows(dest=E:\Env\demo, clear=False, global=False)###创建虚拟环境  
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\ixixi\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)
  activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
  
PS E:\Env> ls                                                       
目录: E:\Env


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2020/5/9      0:25                demo    ###创建好的虚拟环境目录

PS E:\Env\demo> ls                 ###查看虚拟环境内的目录                                                                                     
    目录: E:\Env\demo


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2020/5/9      0:25                Lib
d-----         2020/5/9      0:25                Scripts
-a----         2020/5/9      0:25            405 pyvenv.cfg

PS E:\Env> cd .\demo\Scripts\   ###进入到虚拟环境内                                                                                           
PS E:\Env\demo\Scripts> .\activate.bat             ###启动虚拟环境                                                                     
PS E:\Env\demo\Scripts> .\deactivate.bat    ###停止虚拟环境

第二种.virtualenvwrapper

virtualenv的虚拟环境管理方式注定了启动虚拟环境的时候需要找到虚
拟环境所在的目录,但是,如果文档管理不规范,就会导致虚拟环境目录找不到的情况,所以就需要一个管理虚拟环境的工具,于是就有了virtualenvwrapper

pip  install  virtualenvwrapper   会在当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下
  • 配置环境变量
  • 修改默认路径
  • 在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
  • 使用
PS E:\> mkvirtualenv  demo01                    ###创建虚拟环境                                                                        created virtual environment CPython3.6.8.final.0-64 in 399ms
  creator CPython3Windows(dest=E:\Env\demo01, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\ixixi\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)
  activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
PS E:\> lsvirtualenv                            ###查看虚拟环境                                                                        
dir /b /ad "E:\Env"
==============================================================================
demo
demo01




PS E:\> rmvirtualenv  demo01           ###删除虚拟环境                                                                                 
    Deleted E:\Env\demo01

PS E:\> lsvirtualenv                    ###查看虚拟环境                                                                                
dir /b /ad "E:\Env"
==============================================================================
demo