序言
在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使用指南
-
pyenv versions檢視系統的上安裝的Python版本。 *表示當前目錄正在使用的版本,其中 的 system表示系統自帶的 Python 版本:
pyenv versions #顯示如下 *system (set by /Users/yangjunqiang/.pyenv/version)
-
檢視可安裝的python版本
pyenv install --list
-
pyenv install
安裝其他版本的Python。
例如安裝3.4.1版本:pyenv install 3.4.1
pyenv versions
可以看到當前安裝的版本 -
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安裝
- 安裝
brew install pyenv-virtualenv
修改`~/bash_profile`,新增以下內容
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
-
使用
建立
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配置的環境目前來看沒有影響。
本作品採用《CC 協議》,轉載必須註明作者和本文連結