Mac OS X 下 Python 多版本管理器 pyenv 的安裝及使用

lizhiqiang666發表於2019-08-21

序言

在Linux和Mac OSX下做python環境的配置,經常會遇到問題。比如centos 6是依賴於python2.6的,如果安裝其他版本替換掉系統自帶的python版本可能會存在各種各樣的問題(血淚的教訓),所以配置一個虛擬環境是很有必要的,這樣就可以很任性的使用了,想裝幾個裝幾個,想裝什麼版本就裝什麼版本,媽媽再也不用擔心我亂裝python害系統崩潰了~

Linux上安裝跟Mac OSX基本類似,大部分命令都是一樣的。

一、 安裝brew

我們可以用brew命令來更新OSX系統,brew命令類似於RHEL的yum和ubuntu的apt-get命令\
OSX沒有自帶brew,登陸Homebrew網站,找到ruby程式碼來安裝brew:

ruby$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 升級到新版本的homebrew:brew update
  • 安裝軟體包:brew install XXXXX
  • 更新軟體包:brew upgrade XXXX,如果不寫具體的軟體包就是更新所有可更新的軟體包。

二、 安裝pyenv

安裝好brew後,就可以用brew來安裝pyenv的最新版本了,而且會自動下載依賴包:

brew install pyenv 

按照安裝完後Caveats的提示要新增兩條環境變數到~/.bash_profile檔案裡(如果沒有需要新建):

export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

執行命令source ~/.bash_profile使環境變數生效

檢視是否安裝成功,執行命令:

pyenv -v

三、 安裝zlib依賴

brew install zlib

將zlib的標頭檔案及庫檔案新增至系統預設的路徑,如果更新zlib版本記得重新新增,否則可能會出現問題:

ln -s /usr/local/Cellar/zlib/1.2.8/include/* /usr/local/include
ln -s /usr/local/Cellar/zlib/1.2.8/lib/* /usr/local/lib

四、 pyenv使用指南

  1. pyenv versions檢視系統的上安裝的Python版本。 *表示當前目錄正在使用的版本,其中 的 system表示系統自帶的 Python 版本:

     pyenv versions
     #顯示如下
     *system (set by /Users/yangjunqiang/.pyenv/version)
    
  2. 檢視可安裝的python版本

    pyenv install --list
  3. pyenv install 安裝其他版本的Python。
    例如安裝3.4.1版本:

     pyenv install 3.4.1

    pyenv versions 可以看到當前安裝的版本

  4. pyenv local 設定當前目錄使用的python版本

     cd                   #回到使用者根目錄
     mkdir python3.4      #建立python3.4的目錄
     cd python3.4
     pyenv local 3.4.1    #使當前目錄使用python3.4.1版本
    

    檢視版本

    image.png

檢視pip的版本(只針對當前安裝的3.4.1版本)

image.png

其他版本的工作目錄建立方法類似(如果是用系統自帶版本,用pyenv local system即可使當前工作目錄使用系統自帶的Python2.7)

五、pyenv的其他操作

  • 解除安裝指定的包:

    pyenv uninstall 3.4.1

  • 全域性版本切換:

    pyenv global 3.4.1

六、pyenv-virtualenv安裝

  1. 安裝
    brew install pyenv-virtualenv

修改`~/bash_profile`,新增以下內容

    if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
  1. 使用

    建立

     pyenv-virtualenv 3.4.1 env341
     pyenv virtualenv 3.4.1 env341
    

    使用虛擬環境及退出虛擬環境

     pyenv activate <name>
     pyenv deactivate
    

    刪除已存在的

     pyenv uninstall my-virtual-env
    

寫在最後

本文所有操作都是本人學習過程實操的紀錄,是經過本人驗證可行的操作。如有問題,請留言交流。另外這是之前的學習筆記,部分資料是網上搜集的,侵刪~

這篇筆記是基於OSX 10.11的,現在我用的是OSX 10.12,之前10.11配置的環境目前來看沒有影響。

相關文章