ubuntu系統下Python虛擬環境的安裝和使用

前言:進行python項目開發的時候,因爲不一樣的項目須要使用不一樣的資源包和相關的配置,所以建立多個python虛擬環境,在虛擬環境下開發就顯得頗有必要。python

安裝虛擬環境

打開Linux終端(快捷鍵Ctrl+Alt+T),輸入命令bash

sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper

說明:以上兩條命令逐條執行,完成後虛擬環境安裝完畢。app

或者可使用pip安裝,前提是安裝了pip,通常python自帶了pip:命令行

sudo pip install virtualenv
sudo pip install virtualenvwrapper
  • 說明:安裝的結果如出一轍,使用任意一種便可。
  • virtualenv是虛擬環境,virtualenvwrapper對virtualenv的命令進行了封裝,使得其更加友好

注意:安裝的順序不能顛倒,virtualenvwrapper必須依賴於virtualenv。blog

建立虛擬環境

  • 在終端輸入以下命令:
    mkvirtualenv 虛擬環境名稱
    如:
    mkvirtualenv mywork
    
    //會建立一個名爲mywork的虛擬環境
  • 建立的虛擬環境都保存在/home/.virtualenvs目錄下,能夠進入這個目錄查看;
  • 建立成功後會自動進入該虛擬環境,命令行提示改變;ip

  • 指定python版本建立虛擬環境資源

上面的命令執行時,系統會建立默認的python版本的開發環境,通常你們的電腦會同時安裝python2和python3版本,有時須要不一樣的版本建立虛擬環境。開發

mkvirtualenv -p python路徑 虛擬環境名稱
例:
mkvirtualenv -p /usr/bin/python3 mywork
  • -p指的是path的簡寫
  • Py安裝的路徑,默認安裝在/usr/bin/目錄下;若是一時間找不到,使用命令:
whereis python3

細節:不須要進入到/home/.virtualenvs目錄,在任何目錄下均可以執行命令,建立的虛擬環境的位置都同樣。pip

注意:建立虛擬環境是須要在聯網下進行,不然建立失敗。class

注意:使用mkvirtualenv建立虛擬環境,可能提示找不到命令,通常是腳本文件沒有加入系統路徑,解決以下:

  • 方法一:
    # 找到virtualenvwrapper的腳本文件
    whereis virtualenvwrapper
    # 進入該目錄
    cd /usr/local/python3/bin
    # 執行腳本文件激活virtualenvwrapper
    source virtualenvwrapper.sh
    # 能夠正常使用命令了
    
  • 方法二:
    # 方法一每次重啓後都須要手動激活,不方便,將命令添加到環境變量
    sudo vi ~/.bashrc
    # 在末尾添加一行
    source /usr/local/python3/bin/virtualenvwrapper.sh
    # 保存後執行
    source ~/.bashrc
    # 如今能夠正常使用命令了,且每次重啓主機自動加載命令
    

    虛擬環境的查看和使用

  • 刪除虛擬環境
    rmvirtualenv [虛擬環境名稱]
    例:
    rmvirtualenv mywork
    

    注意:若是目前的位置在虛擬環境中,須要先退出虛擬環境,而後才能執行刪除

    注意:能夠在任何目錄執行刪除操做,若是不知道名字,能夠rmvirtualen + 兩次Tab鍵,提示全部的虛擬環境

  • 退出虛擬環境
    deactivate
    
  • 進入虛擬環境
    workon [虛擬環境名稱]
    例:
    workkon mywork
    

    注意:按workon+兩次Tab鍵會提示全部虛擬環境。

  • 查看虛擬環境中安裝的python包
    pip list
    pip freeze
    

    兩個命令均可以查詢,只是展現的形式不同

在虛擬環境下安裝python包

  • 進入虛擬環境,在終端輸入:
    pip install 包的名字

注意:必定不要使用sudo pip ... ,這裏是在虛擬環境中安裝python包,若是使用了sudo權限,python包會被安裝在主機非虛擬環境下,在虛擬環境中找不到這個包。

相關文章
相關標籤/搜索