zoukankan      html  css  js  c++  java
  • Python虚拟环境的搭建与使用

    在使用Python语言的时候我们使用pip来安装第三方包,但是由于pip的特性,系统中只能安装每个包的一个版本。但是在实际项目开发中,不同项目可能需要第三方包的不同版本,Python的解决方案就是虚拟环境。顾名思义,虚拟环境就是虚拟出来的一个隔离的Python环境,每个项目都可以有自己的虚拟环境,用pip安装各自的第三方包,不同项目之间也不会存在冲突。创建虚拟环境需要一些工具,本文将会介绍这些工具。

    1.Virtualenv的安装

    Virtualenv的安装很简单,安装好Python环境之后,执行下面的命令即可:

    # pip install virtualenv
    

    2.Virtualenv的基本使用

    2.1 创建虚拟环境

    • 首先进入工程的根目录下
    # cd 工程目录路径
    
    • 创建虚拟环境
    # virtualenv 虚拟环境名
    或者
    # virtualenv --system-site-packages 虚拟环境名
    

    以上两个命令任选一个即可,不同的是第一个命令创建的是纯净的环境,即只包含pip工具,第二个命令创建的环境会继承本地环境中包含的所有模块。

    另外,如果没有虚拟环境名,虚拟环境会被创建在工程根目录,以后安装的所有模块也会放在工程根目录。有虚拟环境名,则所有文件都会放在虚拟环境名的同名目录下。

    • 指定Python解释器
    virtualenv -p /usr/bin/python3 虚拟环境名
    

    -p 后面为Python解释器的路径

    2.2 激活虚拟环境

    要想使用虚拟环境,必须先激活虚拟环境:

    # source 虚拟环境名/bin/activate
    

    从现在起,pip安装的模块都会放在虚拟环境名的同名目录下。

    2.3 退出虚拟环境

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

    # deactivate
    

    现在已经回到了本地环境,pip安装的模块都会放在默认位置。

    2.4 删除虚拟环境

    要想删除虚拟环境,只需要删除虚拟环境名的同名目录即可:

    # rm -rf 虚拟环境名
    

    3.管理虚拟环境

    因为virtualenv的启动、停止都只有在对应的工程目录中操作或者安装虚拟环境的位置,过一段时间后,可能有很多虚拟环境散落在系统各处。鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。

    3.1 virtualenvwrapper安装

    Linux系统:

    # pip install virtualenvwrapper
    

    Windows系统:

    # pip install virtualenvwrapper-win
    

    安装完成后,在~/.bashrc文件中加入以下内容:

    export WORKON_HOME=~/Envs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    source /usr/local/python3/bin/virtualenvwrapper.sh
    

    第一行是指定virtualenvwrapper存放虚拟环境的位置;

    第二行是指定Python编译器,系统中有不同版本的Python时,必须指定;

    第三行是virtrualenvwrapper的安装路径,在Python的安装目录下的bin目录中。

    完成后保存文件,重新执行文件使配置生效

    # source ~/.bashrc
    

    3.2 virtualenvwrapper基本使用

    • 创建虚拟环境
    # mkvirtualenv --python=/usr/bin/python3 虚拟环境名
    

    --python为可选参数,作用是指定Python解释器。

    • 查看虚拟环境列表
    # workon
    
    • 切换虚拟环境
    # workon 虚拟环境名
    
    • 退出虚拟环境
    # deactivate
    
    • 删除虚拟环境
    # rmvirtualenv 虚拟环境名
    
  • 相关阅读:
    JavaScript cookie详解
    Javascript数组的排序:sort()方法和reverse()方法
    javascript中write( ) 和 writeln( )的区别
    div做表格
    JS 盒模型 scrollLeft, scrollWidth, clientWidth, offsetWidth 详解
    Job for phpfpm.service failed because the control process exited with error code. See "systemctl status phpfpm.service" and "journalctl xe" for details.
    orm查询存在价格为空问题
    利用救援模式破解系统密码
    SSH服务拒绝了密码
    C# 调用 C++ DLL 中的委托,引发“对XXX::Invoke类型的已垃圾回收委托进行了回调”错误的解决办法
  • 原文地址:https://www.cnblogs.com/feilstar/p/12678292.html
Copyright © 2011-2022 走看看