天天看點

Ubuntu pyenv安裝管理多版本python

安裝pyenv

安裝pyenv首先選擇安裝路徑,一般選擇安裝在家目錄下,很多軟體的配置檔案等都是以隐藏檔案的形式放在家目錄下或者根目錄下,我們的安裝路徑設定為~/.pyenv

在終端視窗輸入指令如下:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
           

定義環境變量

在終端視窗輸入指令如下:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
           

注意:此時需要重新開機終端,才能使路徑更改生效

pyenv的使用

  • 可以安裝的python的版本:
    pyenv install --list
               
    Ubuntu pyenv安裝管理多版本python
  • 檢視已經安裝的python版本
    pyenv versions
               
    Ubuntu pyenv安裝管理多版本python
    此處的system是系統自帶的Python版本,Ubuntu中系統自帶2.7和3.5
  • 檢視目前使用的python版本
    pyenv version
               
    Ubuntu pyenv安裝管理多版本python
    Ubuntu pyenv安裝管理多版本python
  • 安裝一個python版本

    在安裝python之前,要先安裝python的一些依賴包,否則會安裝失敗:

    sudo apt-get install libc6-dev gcc
    sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
    
               

    在安裝的時候pyenv會自動到github上下載下傳,速度會很慢,這時候需要換源,此處使用搜狐的源,位址如下:

    http://mirrors.sohu.com/python

    在使用之前可以先看看有沒有自己要的版本

    # 指定源,路徑
    export PYTHON_BUILD_MIRROR_URL="http://mirrors.sohu.com/python/3.6.5/"
    # 下載下傳某個python版本
    pyenv install -v 3.6.5
    # 安裝完後更新一下資料庫:
    pyenv rehash
               
    Ubuntu pyenv安裝管理多版本python
    如果上述方法無法解決下載下傳緩慢的問題,可以使用下面這個方法
    # 使用curl或者wget下載下傳到~/.pyenv/cache下,然後再用pyenv安裝,下面是可選的安裝模式
    cd ~/.pyenv
    sudo mkdir cache
    wget -c http://mirrors.sohu.com/python/3.7.3/Python-3.7.3.tar.xz -P  ~/.pyenv/cache/
    pyenv install -v 3.7.3
    或者用淘寶源
    https://npm.taobao.org/mirrors/python/3.6.5/Python-3.6.5.tar.xz
    https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz
               
    Ubuntu pyenv安裝管理多版本python
  • 解除安裝一個python版本
    pyenv uninstall 3.6.5
               
  • 設定全局python版本

    我是mac遠端控制Ubuntu安裝的,在設定完成後需要斷開遠端連接配接後重新遠端才生效,在本機設定完成後如果沒生效可以重新打開終端試試

    pyenv global 3.6.5
               
    Ubuntu pyenv安裝管理多版本python
    Ubuntu pyenv安裝管理多版本python

注意事項:

  • 系統自帶的腳本會以/usr/bin/python的方式直接調用老版本的python,因而不會對系統腳本産生影響。
  • 使用pip安裝第三方子產品時會安裝到~/.pyenv/versions/3.6.5下,不會和系統子產品發生沖突。
  • 使用pip安裝子產品後,可能需要執行pyenv rehash更新資料庫。

安裝 pyenv-virtualenv

  • 安裝

    我們的pyenv的安裝目錄是/.pyenv,是以我們需要把pyenv-virtualenv克隆到/.pyenv/plugins下,執行下面的指令

    git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
    
               
  • 配置環境變量

    終端輸入下面的指令

    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
    # 重新初始化 shell 環境,如果不執行該指令需要重新啟動終端視窗
    exec $SHELL
               
  • 建立虛拟環境
    pyenv virtualenv 3.6.5 myvenv
               
    建立的虛拟環境會存放在~/.pyenv/versions/目錄下
    Ubuntu pyenv安裝管理多版本python
  • 使用虛拟環境

    在任意目錄下,執行下面指令

    pyenv activate myvenv
               
    Ubuntu pyenv安裝管理多版本python
    # 檢視虛拟環境python版本
    python --version
    # 檢視pip版本、python版本、 pip 包安裝的絕對路徑,也是 pyenv 安裝目錄下/versions/python版本/envs/虛拟環境名/
    pip --version
               
Ubuntu pyenv安裝管理多版本python
  • 退出虛拟環境

    關掉終端,相當于退出虛拟環境

    # 主動退出
    pyenv deactivate 
               
    Ubuntu pyenv安裝管理多版本python
  • 給某個目錄使用虛拟環境

    該目錄下執行:

    pyenv local myvenv
               
    Ubuntu pyenv安裝管理多版本python

    目前目錄下有個隐藏檔案 .python-version,你可以看到這個檔案裡面,隻寫了一句話 my-env

    隻要進入這個目錄,就會自動激活虛拟環境,此時就算手動執行pyenv deactivate也不會退出

    Ubuntu pyenv安裝管理多版本python