mac上python多版本管理利器pyenv
阿新 • • 發佈:2022-02-21
為什麼用pyenv?
公司的某些專案只能用python3.6.8, 某些卻不限制版本,mac自帶的python還是python2, 只好在電腦上再裝幾個python,幾個版本攪在一起非常不好管理,最後發現了pyenv這個好東西,它能安裝不同版本的python, 配合pyenv-virtualenv一起使用還能方便地建立不同版本的虛擬環境。
附:pyenv github官網
安裝pyenv
由於pyenv是直接用原始碼編譯構建python, 所以在安裝前要先下載一些依賴把mac編譯環境配置好。
- 安裝Xcode Command Line Tools (xcode-select --install) 和Homebrew
- 安裝依賴
$ brew install openssl readline sqlite3 xz zlib
- 安裝pyenv
brew update brew install pyenv
- 配置pyenv的環境變數(不同的shell終端用的命令不一樣,具體參考官網,我是用的zsh)
echo 'eval "$(pyenv init --path)"' >> ~/.zprofile echo 'eval "$(pyenv init -)"' >> ~/.zshrc
用pyenv安裝不同版本的python
-
檢視pyenv支援的所有版本的python
pyenv install --list
-
安裝一個版本
pyenv install -v 3.7.2
pyenv install -v 3.8.0
-
檢視安裝的位置
~ ls ~/.pyenv/versions/ 3.6.8 3.7.2 3.8.0
pyenv其他命令
pyenv與pyenv-virtualenv
pyenv 支援venv, 但是最好還是用pyenv-virtualenv。下面的例子將展示給兩個專案分別建立不同版本的虛擬環境。
- 給project1建立3.6.8的環境
$ cd project1/ $ pyenv which python /usr/bin/python $ pyenv virtualenv 3.6.8 project1 ... $ pyenv local project1 $ python -V /home/aa/.pyenv/versions/project1/bin/python
- 回到home目錄,會發現python是系統版本
$ cd ~ $ pyenv which python /usr/bin/python
- 給project2建立3.7.2的版本
$ cd project2/ $ pyenv which python /usr/bin/python $ pyenv virtualenv 3.7.2 project2 ... $ pyenv local 3.7.2 $ pyenv which python /home/realpython/.pyenv/versions/3.7.2/bin/python
- 切換目錄檢視python版本是否正確
$ cd project2/ $ python -V Python 3.7.2 $ cd ../project1 $ python -V Python 3.6.8