参考
mac
默认的Python
版本:
$ python
Python 2.7.10 (default, Feb 22 2019, 21:55:15)
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
如何使得Mac
下并存多个版本的 Python
?
可以使用
pyenv
来管理多个Python
版本。
Homebrew
先安装brew
,如果已经安装brew
,可直接通过brew
安装pyenv
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
发现下载超慢,配置下ruby
镜像。
gem source -a https://gems.ruby-china.com
没用。
修改 brew
安装脚本
下载 brew
脚本
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install
打开并修改以下这行:
BREW_REPO = "https://github.com/Homebrew/brew".freeze
修改为:
BREW_REPO = "https://mirrors.ustc.edu.cn/brew.git".freeze
保存,执行安装脚本:
ruby ~/brew_install
速度飞起,如果卡在这里
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
出现这个原因是因为源不通,代码拉不下来,解决方法就是更换国内镜像源:
手动执行下面这句命令,更换为中科院的镜像:
$ git clone git://mirrors.ustc.edu.cn/homebrew-core.git/ /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
--depth=1
指定深度,表示只clone
最近一次的commit
,减少体积,解决超时问题。
然后把homebrew-core
的镜像地址也设为中科院的国内镜像
$ cd "$(brew --repo)"
$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
$ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
$ brew update
执行完成,即可完成 brew
的安装。
pyenv
使用pyenv
来管理所有Python
版本。使用brew
来安装
开始安装 pyenv
$ brew install pyenv
验证是否安装完成:
$ pyenv -v
pyenv 1.2.13
查看本地已安装的Python
版本:
$ pyenv versions
发现只有系统默认安装版本:
* system (set by /Users/wuxiaoxin/.pyenv/version)
查看可以安装的Python
版本:
pyenv install --list
Available versions:
2.1.3
2.2.3
...
安装指定的版本:
$ pyenv install 3.7.4
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.4.tar.xz...
-> https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
墙的原因,卡住了...
先下载源码https://www.python.org/downloads/source/
然后创建~/.pyenv/cache目录:
mkdir ~/.pyenv/cache (如果已经有该目录直接进入: cd ~/.pyenv/cache)
将下载的文件 Python-3.7.4.tar.xz
放入该路径。
然后
pyenv install 3.7.4
安装完毕,查看是否安装成功:
$ pyenv versions
* system (set by /Users/wuxiaoxin/.pyenv/version)
3.7.4
可以看到多了一个 3.7.4
。前面带*
表示正在使用的版本。
需要将刚安装的版本加到环境变量中,打开~/.bash_profile
文件,添加:
export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH
注意:~/.bash_profile
修改完需要重启终端
切换 Python
版本:
$ pyenv local 3.7.4
$ python -V
Python 3.7.4
$ pyenv local system
$ python -V
Python 2.7.10
local
表示只对当前目录生效。
global
表示全局有效
$ pyenv global 3.7.4
$ python -V
Python 3.7.4
$ pyenv global system
$ python -V
Python 2.7.10
有时候执行 pyenv global ***
无效,可以先执行
pyenv local --unset