MacOS下,Python2和Python3完美兼容使用


問題闡述:

MacOS默認Python版本是2.7.10,隨着Python3的進一步占有市場,Python2.7也將在2020年結束維護,所以在同一台電腦上安裝多個Python版本勢在必行。

 

一、pyenv的使用

首先,安裝pyenv,參考地址

1,安裝Homebrew,參考地址

2,安裝pyenv:

$ brew update
$ brew install pyenv

3,添加pyenv init到shell里

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

4,重啟shell,使配置生效

 

然后,pyenv基本使用方法

1,列出系統安裝的所有Python版本

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版本回復原樣。

 

二、多版本情況的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

 

 三、總結

pyenv配合pip,可以很好解決Python多版本的問題。

同時也可以在輕量級編輯器(VS Code、Sublime)上很好的配合使用,VS Code如下截圖: 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM