1. 程式人生 > >關於Mac管理多個版本的python

關於Mac管理多個版本的python


一、思路:本機通過brew安裝pyenv,通過pyenv來安裝各種版本的python   
(當然也可以直接用brew來安裝python,用brew安裝的python會在/usr/local/Cellar裡面。brew被安裝在了/usr/local/bin裡面。Mac自帶的python2.7在 /usr/bin裡面)    


二、步驟  
1、安裝homebrew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  
即可成功安裝HomeBrew  


2、通過homebrew來安裝pyenv:  
brew install pyenv 


並配置檔案:  
open .bash_profile  


在彈出的.bash_profile檔案中新增:  
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi


儲存檔案,在終端中輸入如下命令,重新整理之前配置的.bash_profile檔案:


source .bash_profile


注:pyenv 管理的安裝包路徑  


1). 直接安裝的pyenv,即pyenv在預設的目錄:




        pyenv管理的python版本路徑:  ~/.pyenv/versions/


2). 通過 Homebrew 安裝的 pyenv:


        pyenv管理的python版本路徑:  /usr/local/var/pyenv/versions




3、通過pyenv來安裝python  
pyenv install --list


你會看到如下版本列表






Available versions:  
  2.1.3  
  ...  
  2.7.12  
  3.0.1  
  3.5-dev  
  anaconda-1.4.0  
  ...  
  anaconda2-4.1.0  
  anaconda3-4.1.0  
  ironpython-dev  
  ironpython-2.7.5  
  jython-dev  
 ...  
  jython-2.7.1b3  
  miniconda-2.2.2  
  ...  
  miniconda3-4.0.5  
  pypy-c-jit-latest  
  ...  
  pypy3.3-5.2-alpha1  
  stackless-dev  
  ...  
  stackless-3.4.1




解釋如下:
1. 純數字的(如2.1.3, 2.7.12)是官方釋出版本,  
2.anaconda 也是一個python版本,只是自帶了很多用於科學計算的第三方包和管理這些第三方包的管理工具(類似於pip)  
3.miniconda- 是anaconda的迷你版(僅僅包涵對應的python版本和第三方包管理工具,第三方包如果使用需要自己下載)  
3.IronPython 是一種在 NET 和 Mono 上實現的 Python 語言.使用.net開發  
4.JPython是完全用JPython實現的python,它支援用java擴充套件,  
5.和CPythonPyPy的區別是使用了JIT(即時編譯)技術  


安裝舉例:




    安裝一個python版本如3.5.2


$ pyenv install 3.5.2


    解除安裝一個python版本如3.5.2


$ pyenv uninstall  3.5.2


注:這樣安裝之後的python在/usr/local/var/pyenv/versions/3.5.2/bin/python3.5


好像這樣安裝之後是自帶pip的  


4、
    1)檢視已經安裝的python版本:


$ pyenv versions


  2)檢視當前使用的python版本:


$ pyenv version


3)設定全域性python版本如3.5.2:


$ pyenv global 3.5.2  
//很多人不推薦這麼做,說是mac作業系統的檔案也會呼叫原生的2.7的python版本  
//這種說法感覺有點:恐懼來自未知的感覺.持保留意見


    4)設定目錄級python版本如3.5.2


$ pyenv local 3.5.2


    5)為當前shell會話設定python版本如3.5.2


$ pyenv shell 3.5.2


6)如果在指定的檔案目錄下限制特定的python版本需要以下操作:


$ cd + 檔案路徑


$ pyenv local 3.5.2 


7)如何檢視當前設定版本


 $ pyenv versions
 * system (set by /usr/local/var/pyenv/version)  
    2.7.8  
    2.7.10  
  #當前設定版本前會有星號標識


8) 如何取消當前設定版本


$ pyenv local --unset   
  #其他兩種命令同樣引數
  #使用上述命令指定python版本後,該檔案被刪除後,即使在原路徑重新同名檔案,python版本仍舊是系統設定的global 版本.




# 三、解除安裝
解除安裝pip安裝的包:
pip uninstall 包名  
解除安裝conda安裝的包:
conda uninstall 包名








##
在shell中pip freeze就可以顯示python中安裝的所有包