天天看点

Python enviroment managementTable of Contents 第三章 Python环境管理

Table of Contents

  • 我的Python参考手册
    • 第一章 Python基础概念
      • 1.1 包,模块,类
      • 1.2 数据类型
    • 第二章 Python模块及函数
      • 2.1 datetime日期时间模块
      • 2.2 …
      • 2.3 …
    • 第三章 Python环境管理
      • 3.1 前言
      • 3.2 Virtualenv
        • 基础安装
        • 扩展安装
        • 基本操作
        • 安装Numpy,Scipy等Python包
      • 3.3 conda

第三章 Python环境管理

       如果已经了解Python环境是什么以及为何管理Python环境,则可以跳过第一节。

3.1 前言

       在用Pyhton实践编程前,我们需要先搭建一个Python环境用于编译运行python源程序。对于windows、Unix和Linux平台可以去Python官网下载对应平台的安装包并执行下一步傻瓜式安装。而Mac平台已经预装了Python环境,因此不必再额外安装。总而言之,搭建Pyhton环境就是下载安装包,然后配置环境变量就好,总体较为简单,想了解详情者可参考博客Python环境安装。

       有时电脑中可能有多个Python项目,而不同的Python项目可能要求不同的Python环境,可能有的要求Pyhton3的环境,而有的要求Pyhton2.7的环境。除此之外,不同项目可能会要求不同的包,不同包对不同环境的支持度是不同的,可以完成的任务也是不同的。可以用衣柜做一个简单的类比,衣柜整体就好比电脑第一次安装的Python环境,将四季都放入衣柜中无疑会使衣柜杂乱且不便于寻找。为衣柜添加一些隔层,将不同季节的衣服放在不同隔层中无疑会方便整齐很多,这就像在电脑中又安装了几个其它环境。这些环境相互独立互不干扰,我们可以利用Virtulenv,conda等工具对这些环境进行统一管理。

3.2 Virtualenv

       Virtulenv是用于创建隔绝Pyhton环境的常用工具,它会创建一个文件,其中包含必要的可执行文件和Python工程所需要的包。

  • 基础安装

           安装virtualenv:

    $ sudo pip install virtualenv

           在任意目录下创建一个测试目录:
    $ mkdir Virtualenv
    $ cd Virtualenv
               
           此时测试目录下为空,在测试目录下创建一个虚拟环境env1:

    $ virtualenv env1

           此时测试目录下多了一个名为env1的文件夹,其中包含bin,include,lib三个目录,bin(binary)目录用来存储可执行的二进制文件。include目录则包含编程所需的一些头文件。lib目录则用来存储库文件。
  • 扩展安装

           安装完毕virtualenv后需要再安装virtualenv的扩展包Virtaulenvwrappe,可以更加方便地增加,删除,复制,切换虚拟环境。运行如下命令进行安装,默认安装在

    /usr/local/bin

    目录下。
    $ sudo easy_install virtualenvwrapper 
    Password:
    Searching for virtualenvwrapper
    ...
    Copying virtualenvwrapper-4.8.4-py3.7.egg to /Users/Dabao/anaconda3/lib/python3.7/site-  packages
    Adding virtualenvwrapper 4.8.4 to easy-install.pth file
    Installing virtualenvwrapper.sh script to /Users/Dabao/anaconda3/bin
    Installing virtualenvwrapper_lazy.sh script to /Users/Dabao/anaconda3/bin
    ...
    Finished processing dependencies for virtualenvwrapper 
               
           通过观察安装过程可知,Virtualenvsrapper安装在

    /Users/Dabao/anaconda3/

    目录下而非

    /usr/local/bin

    ,记住代码中列出的目录位置,后续安装使用需要。在使用 Virtualenvwrappe 前需要设置环境变量和运行 virtualenvwrapper.sh 文件。其中环境变量用来指定使用 Virtualenvwrappe 的目录,所以要创建一个目录用来储存所有的虚拟环境。由于之前已经创建了一个名为Virtualenv的目录,就使用该目录作为工作目录。
    # 环境变量为先前创建的Virtualenv文件所在路径
    $ export  WORKON_HOME=/Users/Dabao/Desktop/Study/Algorithm/Practice/TensorFlow/Virtualenv
    # 将安装过程中出现的virtualenvwrapper.sh路径拷贝于此
    $ source /Users/Dabao/anaconda3/bin/virtualenvwrapper.sh
               
           上述命令运行完毕后,目录Virtualenv下新增加了许多二进制文件,下一步进入Virtualenv目录并利用Virtualenvwrappe来创建虚拟环境。
    $ mkvirtualenv env2
               

           此时Virtualenv目录下又新增一个内部结构与env1相似的名为env2的文件夹,这是一个与env1相隔离的新环境。

           每次退出终端后再进入Virtualenv目录时就无法使用Virtualenvwrappe的命令,如

    mkvirtualev

    等,可以将之前设置环境变量和使用virtualenvwrapper.sh的命令加入

    /.bash_profile

    中,以后就可以直接在终端使用Virtualenvwrappe的命令。
    $ open ~/.bash_profile
    #添加如下代码到新打开的.bsh_profile文件中并保存
    # export   WORKON_HOME=/Users/Dabao/Desktop/Study/Algorithm/Practice/TensorFlow/Virtualenv
    # source /Users/ruogulu/anaconda3/bin/virtualenvwrapper.sh
    $ source ~/.bash_profile
               
  • 基本操作
  1. 列出虚拟环境:

    $ lsvirtualenv -b

  2. 切换虚拟环境:

    $ workon env1

  3. 查看环境中安装了哪些包:

    $ lssitepackages

  4. 进入当前环境(进入该环境的文件夹):

    $ cdvirtualenv

  5. 进入当前环境的site-packages:

    $ cdsitepackages

    $ cdsitepackages pip

  6. 复制虚拟环境:

    $ cpvirtualenv env1 env3

  7. 退出虚拟环境:

    $ deactivate

  8. 删除虚拟环境:

    $ rmvirtualenv env3

  • 安装Numpy,Scipy等Python包

           切换至目标环境如env1,然后输入

    $ pip install numpy

    就可安装 Numpy 包。
    $ workon env1
    $ pip install numpy
    Collecting numpy
    ...
    $ lssitepackages
    __pycache__			pkg_resources
    easy_install.py			setuptools
    numpy				setuptools-41.0.1.dist-info
    numpy-1.16.4.dist-info		wheel
    pip				wheel-0.33.4.dist-info
    pip-19.1.1.dist-info
               

       虚拟环境的相关安装完毕,可以开心地捣鼓Python了。

3.3 conda

继续阅读