目前最新的macOs Sierra 10.12.1上默認的python版本是2.7.10际插,假如我們需要用到python3.x版本又不想影響到系統(tǒng)默認的python,那么我們可以使用pyenv來搭建python的多版本環(huán)境深碱。
pyenv使用起來十分方便腹鹉,只需要將安裝目錄添加進$PATH即可使用藏畅。
安裝pyenv也有多種方式可供選擇:
安裝Homebrew
打開控制臺敷硅,執(zhí)行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安裝時如果遇到權限問題可參考:
對于Mac OS X 10.11 El Capitan用戶,由于系統(tǒng)啟用了SIP(System Integrity Protection), 導致root用戶也沒有權限修改/usr/bin目錄愉阎。按如下方式可恢復權限绞蹦。屏蔽方法:重啟Mac,按住command+R,進入recovery模式榜旦。選擇打開Utilities下的終端幽七,輸入:csrutil disable并回車,然后正常重啟Mac即可溅呢。具體可見:http://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/
- brew常用命令及使用技巧:
brew install xxx:安裝模塊
brew list :查看已安裝模塊
brew info xxx 查看某模塊信息
brew update 升級brew
brew鏡像
PS:如果下載速度很慢澡屡,可以通過brew --cache
命令查看brew的下載緩存目錄,然后將需要安裝的模塊下載后直接放到此目錄中
再運行brew install xxx
安裝pyenv
$ brew update
$ brew install pyenv
升級:將install替換為upgrade
- 配置環(huán)境變量
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile - 重啟控制臺使配置生效
$ exec $SHELL - pyenv常用命令
$ pyenv install --list #列出可安裝版本
$ pyenv install <version> 安裝對應版本
$ pyenv versions 顯示當前使用的python版本
$ pyenv which python 顯示當前python安裝路徑
$ pyenv global <version> 設置默認Python版本
$ pyenv local <version> 當前路徑創(chuàng)建一個.python-version, 以后進入這個目錄自動切換為該版本
$ pyenv shell <version> 當前shell的session中啟用某版本咐旧,優(yōu)先級高于global 及 local
安裝多版本python
通常情況下只需要執(zhí)行例如:pyenv install x.x.x
即可安裝對應的python版本驶鹉,網(wǎng)上的多數(shù)教程也都是這樣寫的,只是鑒于國內(nèi)的網(wǎng)絡環(huán)境铣墨,基本上是無法下載成功的……所以我們可以先將安裝包先放入pyenv下載的緩存目錄室埋,然后再執(zhí)行安裝命令
- 首先打開控制臺,之前配置好環(huán)境變量后伊约,此時應該有~/.pyenv目錄
默認情況下沒有cache目錄姚淆,需要手動創(chuàng)建
- 然后下載對應的python安裝文件,注意不要解壓屡律,直接丟進cache目錄中
之后再執(zhí)行安裝命令:
pyenv install -v 3.5.2
安裝過程中遇到的問題:
Q:缺少zlib包腌逢,錯誤信息:zipimport.ZipImportError: can't decompress data; zlib not available
A: 試過用brew去安裝,但是沒有找到這個模塊超埋,所以只能手動去官網(wǎng)下載上忍,然后通過以下方式安裝
tar xzvf ***
cd ***
./configure
make
make install
Q:缺少XCode命令行工具
A:xcode-select --install
pip安裝及使用
pip是python的包管理工具骤肛,Python 2 >=2.7.9 or Python 3 >=3.4環(huán)境下已經(jīng)默認安裝,virtualenv or pyvenv環(huán)境下也是默認就包含了pip
python get-pip.py
使用鏡像
創(chuàng)建~/.pip 文件夾 并添加 ~/.pip/pip.conf文件
-
編輯pip.conf文件窍蓝,使用豆瓣鏡像:
[global] index-url = https://pypi.doubanio.com/simple/
ps: 安裝命令不要用sudo 否則可能會提示權限問題
Q&A
Q: import tkinter 提示錯誤
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named tkinter
A: 1.下載對應版本的activetcl
https://www.python.org/download/mac/tcltk/#activetcl-8-5-18-0
http://www.activestate.com/activetcl/downloads
2.重新運行安裝命令(setup.py腳本中會檢測到系統(tǒng)中新增的tcl腋颠,從而將_tkinter加入編譯隊列)eg. pyenv install 3.5.2 -v