• 使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python


    virtualenv

    系统中的多个python混用会导致$PYTHONPATH混乱,或者各个工程对于package的版本要求不同等等情况。有一个简单的解决方案就是用virtualenv来隔离多个python,其本质只是实现隔离不同python中$PYTHONPATH的路径,当然也可以衍生到隔离多个$PATH

    安装virtualenv

    # Ubuntu/Linux 64-bit
    $ sudo apt-get install python-pip python-dev python-virtualenv
    
    # Mac OS X
    $ sudo easy_install pip
    $ sudo pip install --upgrade virtualenv

    Virtualenvwrapper

    当有很多个虚拟环境时,我们可能会记不清有哪些虚拟环境,要搞清楚每个环境中有哪些package就更难了,因此这里推荐用Virtualenvwrapper来对虚拟环境进行管理。

    配置Virtualenvwrapper

    在安装Virtualenvwrapper之前用pip安装上virtualenv或用apt-get安装上python-virtualenv

    $ sudo pip install virtualenvwrapper 

    把下面几行加入~/.bashrc

    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 # 这句是为了防止环境变量$PATH中已有其它环境的python,需要换成自己需要的python路径

    export WORKON_HOME=$HOME/.virtualenvs # 放所有虚拟环境的地方

    source /usr/local/bin/virtualenvwrapper.sh

    在终端输入source ~/.bashrc

    新建Virtualenv

    新建虚拟环境的指令由原来的virtualenv vpath更换为mkvirtualenv vname,默认把路径放到了$WORKON_HOME下,并且原来的--system-site-packages--no-site-packages等选项都还是可以用的。

    mkvirtualenv VirtalenvName

    建好之后默认就已经进入这个虚拟环境了(命令行前会有一个括号+环境名的提示),退出是deactivate

    Virtualenvwrapper常用指令

    mkvirtualenv 创建环境
    workon 切换到环境
    deactivate 注销当前环境
    lsvirtualenv 列出所有环境
    rmvirtualenv 删除环境
    cpvirtualenv 复制环境
    cdsitepackages cd到当前环境的site-packages目录
    lssitepackages 列出当前环境中site-packages内容
    setvirtualenvproject 绑定现存的项目和环境
    wipeenv 清除环境内所有第三方包
  • 相关阅读:
    互联网架构的三马车
    云时代架构读后感
    支付宝架构师眼里的高并发架构
    支付宝架构
    架构层级的“开闭原则”2
    架构层级的“开闭原则”1
    互联网架构微服务
    关于第三方支付
    分布式架构中数据一致性常见的几个问题
    Java多线程学习笔记二
  • 原文地址:https://www.cnblogs.com/jingsupo/p/virtualenv.html
Copyright © 2020-2023  润新知