Python 虛擬環境[virtualenv/virtualenvwrapper]設置


 

virtualenv

virtualenv 是一個可以在同一計算機中隔離多個python版本的工具。有時,兩個不同的項目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都裝到一起,經常會導致問題。所以需要一個工具能夠將這兩種或幾種不同版本的環境隔離開來,需要哪個版本就切換到哪個版本做為默認版本。

virtualenv 既是滿足這個需求的工具。它能夠用於創建獨立的Python環境,多個Python相互獨立,互不影響,能夠:

  1. 在沒有權限的情況下安裝新套件

  2. 不同應用可以使用不同的套件版本

  3. 套件升級不影響其他應用

安裝:

  1. pip install virtualenv

使用方法

1. 創建環境

  • virtualenv [新環境名] :這會再當前目錄下創建一個新環境目錄

  • 可使用 virtualenv --help 來查看如何使用。可以使用參數 --python=/usr/bin/python3 來創建一個已經安裝的的Python環境。

2. 使用環境

  • 切換到新環境目錄

  • 執行:source ./bin/activate 來激活環境,激活后在命令行的前面會出現新環境名稱

  • 接下來可使用pip命令安裝新環境需要的各種包。(pip命令在創建新環境時自帶)

3. 退出虛擬環境

  • deactivate

  • 如果要刪除虛擬環境,只需退出虛擬環境后,刪除對應的虛擬環境目錄即可。不影響其他環境。

4. 注意事項

  • 如果沒有啟動虛擬環境,系統也安裝了pip工具,那么套件將被安裝在系統環境中,為了避免發生此事,可以在~/.bashrc文件中加上:export PIP_REQUIRE_VIRTUALENV=true

  • 或者讓在執行pip的時候讓系統自動開啟虛擬環境:export PIP_RESPECT_VIRTUALENV=true


virtualenvwrapper

virtualenvwrapper是virtualenv的擴展管理包,用於更方便管理虛擬環境,它可以做:

  1. 將所有虛擬環境整合在一個目錄下
  2. 管理(新增,刪除,復制)虛擬環境
  3. 切換虛擬環境

安裝

  1. pip install virtualenvwrapper

使用方法

1. 初始配置

默認virtualenvwrapper安裝在/usr/local/bin下面,實際上需要運行virtualenvwrapper.sh文件才行;所以需要先進行配置一下:

  • 創建虛擬環境管理目錄: mkdir $HOME/.local/virtualenvs

  • 在~/.bashrc中添加行:

export VIRTUALENV_USE_DISTRIBUTE=1 # 總是使用 pip/distribute

export WORKON_HOME=$HOME/.local/virtualenvs # 所有虛擬環境存儲的目錄

if [ -e $HOME/.local/bin/virtualenvwrapper.sh ];

then

      source $HOME/.local/bin/virtualenvwrapper.sh

else if [ -e /usr/local/bin/virtualenvwrapper.sh ];then

       source /usr/local/bin/virtualenvwrapper.sh

fi

fi

export PIP_VIRTUALENV_BASE=$WORKON_HOME

export PIP_RESPECT_VIRTUALENV=true

 

  • 啟動 virtualenvwrapper :  

     source ~/.bashrc
    

      

2. 使用方法

所有的命令可使用:virtualenvwrapper --help 進行查看,這里列出幾個常用的:

  • 創建基本環境:mkvirtualenv [環境名]

  • 刪除環境:rmvirtualenv [環境名]

  • 激活環境:workon [環境名]

  • 退出環境:deactivate

  • 列出所有環境:workon 或者 lsvirtualenv -b

配上別名設置:

# virtualenv alias vte='virtualenv' alias mkvte='mkvirtualenv' alias deact='deactivate' alias rmvte='rmvirtualenv'

所有命令都可在后面使用 --help 參數查看具體用法!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM