python開發環境管理:pip和virtualenv

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章