zoukankan      html  css  js  c++  java
  • Python杂谈之虚拟环境

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

    1.Python的虚拟环境方式

    第一种.virtualenv

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

    • [ ] 官网地址:https://virtualenv.pypa.io/en/latest/
      image
    • [ ] 注意事项:虚拟环境只是从系统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:Envdemo, clear=False, global=False)###创建虚拟环境  
      seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:UsersixixiAppDataLocalpypavirtualenvseed-app-datav1.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:Envdemo> ls                 ###查看虚拟环境内的目录                                                                                     
        目录: E:Envdemo
    
    
    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 .demoScripts   ###进入到虚拟环境内                                                                                           
    PS E:EnvdemoScripts> .activate.bat             ###启动虚拟环境                                                                     
    PS E:EnvdemoScripts> .deactivate.bat    ###停止虚拟环境
    

    第二种.virtualenvwrapper

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

    • [ ] 官网地址:https://virtualenvwrapper.readthedocs.io/en/latest/index.html#
      image
      image
    • [ ] 安装
    • pip  install  virtualenvwrapper   会在当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下
      
    • [ ] 配置环境变量
    • 修改默认路径
    • 在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
      image
    • [ ] 使用
    PS E:> mkvirtualenv  demo01                    ###创建虚拟环境                                                                        created virtual environment CPython3.6.8.final.0-64 in 399ms
      creator CPython3Windows(dest=E:Envdemo01, clear=False, global=False)
      seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:UsersixixiAppDataLocalpypavirtualenvseed-app-datav1.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:Envdemo01
    
    PS E:> lsvirtualenv                    ###查看虚拟环境                                                                                
    dir /b /ad "E:Env"
    ==============================================================================
    demo
    
      
    
  • 相关阅读:
    js错误类型
    js事件流及事件冒泡
    js中BOM学习
    js匿名函数及闭包(javaScript高级程序设计第3版)
    js面向对象、原型及继承(javaScript高级程序设计第3版)
    js中变量、作用域及内存
    函数内部两个特殊的对象---arguments和this
    node+mongoose使用例子
    TypeError: HashUpdate fail
    Mac上安装tomcat服务器
  • 原文地址:https://www.cnblogs.com/Testking/p/12854215.html
Copyright © 2011-2022 走看看