• Python 虚拟环境 virtualenv


    virtualenv

      什么是虚拟环境?顾名思义,它是一个虚拟出来的环境,通俗的来讲,可以借助虚拟机,docker来理解虚拟环境,就是把一部分内容独立出来,我们把这部分独立出来的东西成为"容器",在这个容器中,我们可以只安装我们需要的依赖包,而且各个容器之间互相隔离,互不影响。我们要学习Djangp,我们通过这个环境可以安装一个虚拟环境。

      VirtualEnv能做什么呢?

        VirtualEnv可以搭建虚拟且独立的python运行环境,使得单个项目的运行环境与其他项目独立起来。同时也可以用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。

        Virtualenv是一个非常好的virtual python encironment builder,他最大的好处是,可以让每一个python项目单独使用一个环境,而不会影响python系统环境,也不会影响其他项目的环境。

        Virtualenv可用于创建独立的Python环境,在这些环境里面可以选择不同的Python版本或者不同的Packages,并且可以在没有root权限的情况下在环境里安装新套件,互相不会产生任何的影响。

    言归正传

    安装,virtualenv本质上一个python包,使用pip安装:

    pip install virtualenv
    

    在工作目录下创建虚拟环境(默认在当前目录):注意需要自定义虚拟环境的名字!

    ~$virtualenv TestEnv
    New python executable in ~/TestEnv/bin/python
    Installing setuptools, pip, wheel...done.
    

    默认情况下,虚拟环境中不包括系统的site-packages,若要使用请添加参数: 

    语法:virtualenv --system-site-packages TestEnv
    

    使用virtualenv默认python版本创建虚拟环境

    语法:virtualenv --no-site-packages ubuntu_env
    

    就可以在当前目录创建一个env目录(虚拟环境名称,这个文件夹就是保存 Python 虚拟环境),你会注意到,virtualenv会把python,setuptools和pip给你安装上。

    自定义python版本创建虚拟环境
      1. 安装需要版本的python
      2. 指定virtualenv中的python版本
          virtualenv --no-site-packages --python=2.7 env

     note:

       1.创建virtualenv虚拟环境之前,系统中必须要安装有对应版本的python,并且卸载之后当前虚拟环境就无效了,系统中可以同时存在python2和python3,通过环境变量中path(不是用户变量)控制cmd或者系统使用哪个版本的python,哪个版本的路径在前面就优先使用哪个版本

      2.-no-site-pachages表示不包括系统全局的python安装包,这样会更令环境更干净

      3.-python=python2.7指定Python的版本未系统已经安装了的Python2.7

      4.env是建立的虚拟环境名称

      5.没有安装python2.7或者使用命令virtualenv --no-site-packages --python=python2.7 env会出现  The executable python does notexist 错误、

    虚拟环境激活

    venv/Scripts/activate
    
    (venv) D:devpricewebsiteweb>
    

    从现在起,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开。像平常一样安装包,比如:

    (venv) D:devpricewebsiteweb>pip install requests
    

    使用requirements.txt安装版本包(requirements.txt文件下保存的都是各个依赖包的版本信息) 

    (venv) D:devpricewebsiteweb>pip install -r requirements.txt
    

    进入环境env1,执行pip freeze > requirements.txt将包依赖信息保存在requirements.txt文件中。
      最好手动调整一下顺序,比如numpy和scipy要在matplotlib前面安装;另外如果想安装最新版本的,再将后面的版本号==1.9.1什么的删除。
      然后进入目的虚拟环境env2,执行pip install -r requirements.txt,pip就会自动从网上下载并安装所有包。
      虚拟环境env2如果是env1的拷贝,最好先pip uninstall -ry requirements.txt,再pip install -r requirements.txt
      

    如果你在虚拟环境中暂时完成了工作,则可以停用它:

    退出虚拟环境:

    (venv) D:devpricewebsiteweb>deactivate
    

    这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。

    要删除一个虚拟环境,只需删除它的文件夹。(执行 rm -rf venv )。
      这里virtualenv 有些不便,因为virtual的启动、停止脚本都在特定文件夹,可能一段时间后,你可能会有很多个虚拟环境散落在系统各处,你可能忘记它们的名字或者位置。

  • 相关阅读:
    PEB结构学习
    2016元旦总结
    pwnable.kr的passcode
    PE文件格式(加密与解密3)(一)
    IDA的脚本IDC的一个简单使用
    Python3的tkinter写一个简单的小程序
    2016/12/3-问鼎杯线上赛1-1-Misc
    2016/12/3-问鼎杯线上赛6-2逆向分析
    redis取经之路
    springboot踩坑出坑记
  • 原文地址:https://www.cnblogs.com/niejinmei/p/7905706.html
Copyright © 2020-2023  润新知