Python enviroment management

Table of Contents

第三章 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值