python开发环境管理:pip和virtualenv

版权声明:本文为Focustc原创文章,转载请注明作者及出处。 https://blog.csdn.net/caozhankui/article/details/51506017

python开发环境管理:pip和virtualenv

不同的python软件需要不同的开发环境,互相之间甚至可能有冲突,怎么处理?使用pip、virtualenv和virtualenvwrapper可以迅速的搭建、转移开发环境,并隔离冲突。

软件包管理

  • pip是easy_install的替代品,distribute是setuptools的替代品

pip使用

  • 使用参考文档为:pip
  • pip install test安装test包
  • pip list列出已经安装的包
  • pip install --upgrade test升级test包
  • pip uninstall test卸载
  • pip install test==4.4指定版本
  • pip install test>=4.4指定最小版本号
  • pip freeze > requirements.txt到处当前python环境的依赖库要求
  • pip install -r requirements.txt根据依赖文件安装库

virtualenv

  • virtualenv是用来创建独立python运行环境的工具
  • 可以创建单独的安装目录,解决了依赖项、版本和权限的问题。比如pip不需要sudo了

创建虚拟环境

  • virtualenv test
  • 命令将在当前目前下建立一个名为test的文件夹
  • 此文件夹下python环境会自动安装pip,方便安装其他程序
  • 默认将能使用系统中已经安装的包,可以使用--no-site-packages禁止

启动虚拟环境

  • source test/bin/activate
  • 启动之后,可以看到命令行头部出现(test)字样,表明启动成功

退出

  • deactivate用于退出虚拟环境
  • rm -r test用于删除虚拟环境

virtualenvwrapper

  • virtualenvwrapper是virtualenv的一个扩展,使虚拟环境的管理更加容易
  • 参考文档virtualenvwrapper

安装

  • 使用sudo pip install之后使用以下命令设置开发环境,可以将最后一行加入.bash_profile,以后就无需重复初始化了

    $ mkdir -p $WORKON_HOME
    $ export WORKON_HOME=~/Envs
    $ source /usr/local/bin/virtualenvwrapper.sh
    
  • 方便起见,直接将以下代码加入.bashrc,因为有些环境下.bash_profile不会被执行

    # 设置virtualenv 工作的目录. 我们放在用户跟目录下
    export WORKON_HOME=$HOME/.virtualenvs
    
    # ensure all new environments are isolated from the site-packages directory    
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'    
    
    # use the same directory for virtualenvs as virtualenvwrapper    
    export PIP_VIRTUALENV_BASE=$WORKON_HOME    
    
    # makes pip detect an active virtualenv and install to it    
    export PIP_RESPECT_VIRTUALENV=true    
    
    if [[ -r /usr/local/bin/virtualenvwrapper.sh ]]; then        
        source /usr/local/bin/virtualenvwrapper.sh    
    else        
        echo "WARNING: Can't find virtualenvwrapper.sh"    
    fi
    

常用命令

  • mkvirtualenv test创建名为test的虚拟环境
  • workon或者lsvirtualenv列出所有虚拟环境
  • workon test启动或者切换虚拟环境
  • rmvirtualenv test删除虚拟环境
  • deactivate退出

作者Focustc,来自于 CSDN

猜你喜欢

转载自blog.csdn.net/caozhankui/article/details/51506017