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

      当做一个项目时,可能会用到一些模块,如果都用电脑自带的python环境,并且把所有的模块都安装在这上面,很容易使得自带python环境十分臃肿,而且到时候如果迁移到别的电脑时还需要重新安装对应模块,所以可以用虚拟环境,在不同的环境下安装对应的模块,迁移时也把整个环境迁移过去即可

    虚拟环境的创建,Python2和Python3不太一样,因为Python3已经内置了一个虚拟环境的库,可以直接创建虚拟环境,而Python2需要使用第三方库。

    下面就两个版本,分别说一下如何创建虚拟环境:

    Python2

    Python2创建虚拟环境需要依赖virtualenv库。

    # 下载virtualenv库
    $ pip install virtualenv
    
    # 使用virtualenv创建虚拟环境,venv为创建的虚拟环境文件夹名称,可自定义。
    $ virtualenv venv

    Python3

    Python3已经内置虚拟环境库venv,不需要下载别的第三方库就可以直接创建虚拟环境:

    # 创建虚拟环境,第二个venv是虚拟环境文件夹名称,可自定义
    $ python3 -m venv venv

    virtualenv

      1) 安装 virtualenv

    pip3 install virtualenv

      2)创建虚拟环境目录

    mkdir  python_envs
    
    cd python_envs

      3)创建独立运行环境

    virtualenv --no-site-packages --python=/usr/local/python3/bin/python3  env 
    
    #创建一个干净的环境,并且指定python解释器版本为python3,python解释器位置要换成你所在机器的python计时器的位置,新创建的虚拟环境名称(位置)为env,env在当前文件夹下
    #虚拟环境的结构为环境名称/bin/activate

      4)进入虚拟环境

    source venv/bin/activate   #此时进入虚拟环境(venv)Myproject,或者说在当前目录下加载env这个虚拟环境

      virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,

    用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

    使用虚拟环境

      1. 创建虚拟环境

      

    virtualenv 环境名称
    
    可以指定python版本
    virtualenv -p python路径 环境名称

       2. 进入环境下的Scripts文件夹下

    activate

      3. 退出虚拟环境

    deactivate

    面临的问题

      virtualenv 的一个最大的缺点就是:

      每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

      并且还有可能你忘记了虚拟环境放在哪。。

    • 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
    • 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
    注意: 安装时一定要安装在python3解释器本身下

    virtualenvwrapper(强烈推荐):

      1)安装

    pip3 install virtualenvwrapper

      2)添加用户配置

    vim ~/.bashrc
    
    
    添加代码:
    export WORKON_HOME=~/Envs   # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
    export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3     # 指定python解释器的本体(注意此路径随不同的linux环境改变而改变)
    source /usr/local/python3/bin/virtualenvwrapper.sh# 执行virtualenvwrapper安装脚本(这个脚本软件也是根据你记得virtualenvwrapper的安装路径来)

      3)配置生效

    #读取文件,使得生效,此时已经可以使用virtalenvwrapper
    source ~/.bashrc

      #退出会话,重新登录生效,且每次登录的时候,就自动加载virtualenvwrapper工具

      

    管理虚拟环境

      推荐使用virtualenvwrapper

      1. 创建虚拟环境

    1. 创建虚拟环境
    mkvirtualenv 环境
    
    2. 进入虚拟环境(切换环境)
    workon 环境名
    
    3. 退出虚拟环境
    deactivate
    
    4. 删除虚拟环境
    rmvirtualenv
    
    5. 列出虚拟环境
    lsvirtualenv
    
    6. 进入到虚拟环境目录
    cdvirtualenv

     其他命令

    1. 列举所有的虚拟环境。
    lsvirtualenv
    
    2. 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
    cdvirtualenv
    
    3. 和上面的类似,但是是直接进入到 site-packages 目录中。
    cdsitepackages
    
    4. 显示 site-packages 目录中的内容。
    lssitepackages

     Windows下虚拟环境

    一.virtualenv

    1.安装virtualenv

    pip install virtualenv

    2.新建虚拟环境

    virtualenv env1

    二. virtualenvwrapper

    1. 安装

    pip install virtualenvwrapper-win

    2. 设置workon_home环境变量

    3. 新建虚拟环境

    mkvirtualenv env2

    4. 查看虚拟环境

    workon

    5. 进入虚拟环境

    workon python3

    6. 退出虚拟环境

    deactivate

      

  • 相关阅读:
    luogu 5311 [Ynoi2011]D1T3 动态点分治+树状数组
    LOJ #6145. 「2017 山东三轮集训 Day7」Easy 点分树+线段树
    BZOJ 2117: [2010国家集训队]Crash的旅游计划 动态点分治+二分
    BZOJ 1095: [ZJOI2007]Hide 捉迷藏 动态点分治+堆
    BZOJ 3924: [Zjoi2015]幻想乡战略游戏 动态点分治
    luogu 3241 [HNOI2015]开店 动态点分治+二分+vector
    luogu 2993 [FJOI2014]最短路径树问题 Dijkstra+点分治
    BZOJ 3697: 采药人的路径 点分治
    启动elasticsearch报错的几种原因及解决方法
    SpringBoot与MybatisPlus3.X整合示例(十六)
  • 原文地址:https://www.cnblogs.com/xingxia/p/python_virtualenv.html
Copyright © 2011-2022 走看看