美文网首页
Python之利用Conda管理虚拟环境

Python之利用Conda管理虚拟环境

作者: 山阴少年 | 来源:发表于2020-08-27 10:27 被阅读0次

      平时我们在使用Python的时候,有可能会使用多个Python环境,有的是Python版本不同,有的则是Python的第三方模块使用情况不同,因此,我们需要对Python进行虚拟环境管理。
      使用Python虚拟环境的好处在于,一方面它能为项目的运行提供完整的环境支持,比如Python版本,第三方模块等,另一方面它能为项目的运行指定所需的环境,避免了Python不同版本和不同第三方模块之间的干扰。Python的虚拟环境管理有多种实现方式,比如Conda和Python自带的管理工具virtualenv
      本文将会介绍如何使用Conda来管理Python虚拟环境。

    使用Conda管理Python虚拟环境

      首先需要确认在你的系统中安装了Anconda。检查系统中是否安装Anconda的命令为conda -V,如下:

    查看Conda版本

      Conda的常用命令如下:

    conda list      # 查看安装了哪些包
    conda env list      # 查看安装了哪些虚拟环境
    conda update conda      # 检查更新当前conda
    
    查看安装了哪些虚拟环境

      使用Conda来创建虚拟环境的命令如下:

    conda create -n your_env_name python=X.X
    

    其中,your_env_name是虚拟环境的名称,自己随便指定。python后面跟指定的Python版本,可以是2.7, 3.6, 3.7等。

      创建好了自己的虚拟环境之后,就可以来激活虚拟环境,命令如下:

    Linux: source activate your_env_name或者conda activate your_env_name
    Windows: activate your_env_name
    

      如果需要在虚拟环境中安装第三方模块,则命令如下:

    conda install -n your_env_name [package]
    

      最后是退出虚拟环境,命令如下:

    Linux: source deactivate或者conda deactivate
    Windows: deactivate
    

    演示

      在这部分中,我们将创建两个虚拟环境py2-lmjpy3-lmj,一个是Python2环境,一个是Python3环境,并展示如何使用这两个环境。
      我们分别在py2-lmjpy3-lmj这两个环境中演示1/2的结果以及输出字符串"hello world!"。

    [vagrant@localhost ~]$ conda create -n py3-lmj python=3.6
    [vagrant@localhost ~]$ conda create -n py2-lmj python=2.7
    [vagrant@localhost ~]$ conda env list
    # conda environments:
    #
    py2-lmj                  /home/vagrant/.conda/envs/py2-lmj
    py3-lmj                  /home/vagrant/.conda/envs/py3-lmj
    base                  *  /usr/local/Anaconda3
    rasa_env                 /usr/local/Anaconda3/envs/rasa_env
    tfgpu                    /usr/local/Anaconda3/envs/tfgpu
    
    [vagrant@localhost ~]$ conda activate py3-lmj
    (py3-lmj) [vagrant@localhost ~]$ python
    Python 3.6.10 |Anaconda, Inc.| (default, May  8 2020, 02:54:21)
    [GCC 7.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 1/2
    0.5
    >>> print("hello world!")
    hello world!
    >>> print "hello world!"
      File "<stdin>", line 1
        print "hello world!"
                           ^
    SyntaxError: Missing parentheses in call to 'print'. Did you mean print("hello world!")?
    >>> quit()
    (py3-lmj) [vagrant@localhost ~]$ conda deactivate
    [vagrant@localhost ~]$ conda activate py2-lmj
    (py2-lmj) [vagrant@localhost ~]$ python
    Python 2.7.18 |Anaconda, Inc.| (default, Apr 23 2020, 22:42:48)
    [GCC 7.3.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 1/2
    0
    >>> print("hello world!")
    hello world!
    >>> print "hello world!"
    hello world!
    >>> quit()
    (py2-lmj) [vagrant@localhost ~]$ conda deactivate
    

      本次分享到此结束,感谢大家的阅读~

    相关文章

      网友评论

          本文标题:Python之利用Conda管理虚拟环境

          本文链接:https://www.haomeiwen.com/subject/eqqcsktx.html