zoukankan      html  css  js  c++  java
  • 使用虚拟环境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 清除环境内所有第三方包
  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/jingsupo/p/virtualenv.html
Copyright © 2011-2022 走看看