問題闡述:python
MacOS默認Python版本是2.7.10,隨着Python3的進一步佔有市場,Python2.7也將在2020年結束維護,因此在同一臺電腦上安裝多個Python版本勢在必行。git
1、pyenv的使用github
首先,安裝pyenv,參考地址。shell
1,安裝Homebrew,參考地址;bootstrap
2,安裝pyenv:bash
$ brew update $ brew install pyenv
3,添加pyenv init到shell裏curl
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
4,重啓shell,使配置生效編輯器
而後,pyenv基本使用方法ui
1,列出系統安裝的全部Python版本url
ritchdeMacBook-Pro:~ ritch$ pyenv versions * system (set by /Users/ritch/.pyenv/version) 3.7.0
2,列出當前Python版本
ritchdeMacBook-Pro:~ ritch$ pyenv version system (set by /Users/ritch/.pyenv/version)
3,列出pyenv可供安裝使用的Python版本
ritchdeMacBook-Pro:~ ritch$ pyenv install -l Available versions: 2.1.3 2.2.3 2.3.7 ... ... 3.6.5 3.6.6 3.7.0 3.7-dev 3.8-dev
4,安裝Python版本
ritchdeMacBook-Pro:~ ritch$ pyenv install 3.6.6 python-build: use openssl from homebrew python-build: use readline from homebrew Downloading Python-3.6.6.tar.xz... -> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz Installing Python-3.6.6... python-build: use readline from homebrew Installed Python-3.6.6 to /Users/ritch/.pyenv/versions/3.6.6
5,全局切換Python版本
ritchdeMacBook-Pro:~ ritch$ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit() ritchdeMacBook-Pro:~ ritch$ pyenv versions * system (set by /Users/ritch/.pyenv/version) 3.6.6 3.7.0 ritchdeMacBook-Pro:~ ritch$ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit() ritchdeMacBook-Pro:~ ritch$ pyenv global 3.6.6 ritchdeMacBook-Pro:~ ritch$ python Python 3.6.6 (default, Sep 27 2018, 13:24:00) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit()
其中Python版本控制,分爲三個場景:
global:全局範圍內Python版本的展現和修改。
local:當前目錄下Python版本的展現和修改。
shell:當前shell會話Python版本的展現和修改,適用於腳本執行的狀況,當前會話結束後,Python版本回復原樣。
2、多版本狀況的pip使用
Python好用的地方是,有不少成熟的第三方庫。安裝了多個Python版本,對應的pip怎麼使用呢?
首先,安裝
正常狀況下,Python2 >= 2.7.9 或者 Python3 >= 3.4,pip已經被安裝好了。
保證Upgrading pip:
ritchdeMacBook-Pro:~ ritch$ python -V Python 3.6.6 ritchdeMacBook-Pro:~ ritch$ python -m pip install --upgrade pip Collecting pip Using cached https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl Installing collected packages: pip Found existing installation: pip 10.0.1 Uninstalling pip-10.0.1: Successfully uninstalled pip-10.0.1 Successfully installed pip-18.0
若是系統裏沒有安裝好pip,參看安裝:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py
而後,使用
Python 3.6.6,使用pip安裝第三方庫bs4:
ritchdeMacBook-Pro:~ ritch$ pyenv global 3.6.6 ritchdeMacBook-Pro:~ ritch$ python -V Python 3.6.6 ritchdeMacBook-Pro:~ ritch$ python -m pip install bs4 Collecting bs4 Downloading https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz Collecting beautifulsoup4 (from bs4) Downloading https://files.pythonhosted.org/packages/21/0a/47fdf541c97fd9b6a610cb5fd518175308a7cc60569962e776ac52420387/beautifulsoup4-4.6.3-py3-none-any.whl (90kB) 100% |████████████████████████████████| 92kB 537kB/s Installing collected packages: beautifulsoup4, bs4 Running setup.py install for bs4 ... done Successfully installed beautifulsoup4-4.6.3 bs4-0.0.1
Python 3.7.0,使用pip安裝第三方庫bs4:
ritchdeMacBook-Pro:~ ritch$ pyenv global 3.7.0 ritchdeMacBook-Pro:~ ritch$ python -V Python 3.7.0 ritchdeMacBook-Pro:~ ritch$ python -m pip install bs4 Collecting bs4 Using cached https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz Collecting beautifulsoup4 (from bs4) Using cached https://files.pythonhosted.org/packages/21/0a/47fdf541c97fd9b6a610cb5fd518175308a7cc60569962e776ac52420387/beautifulsoup4-4.6.3-py3-none-any.whl Installing collected packages: beautifulsoup4, bs4 Running setup.py install for bs4 ... done Successfully installed beautifulsoup4-4.6.3 bs4-0.0.1
3、總結
pyenv配合pip,能夠很好解決Python多版本的問題。
同時也能夠在輕量級編輯器(VS Code、Sublime)上很好的配合使用,VS Code以下截圖: