「brew」Mac安装神器
brew
是 mac 终端程序管理工具 能让你更快速的安装你想要的工具。而不用考虑大量的依赖。
- 安装方法 Terminal输入
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install*)"
- 更新brew
brew update
- 常用命令有安装和卸载等:
安装:brew install <name>
卸载:brew uninstall <name>
查看已安装列表:brew list
「pyenv」Python管理工具
pyenv
可以在同一个环境安装多个不同的Python版本,通过指令随时随地的切换不同的Python版本。
- mac所需环境安装
xcode-select --install #安装Xcode Command Line Tools
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #安装Homebrew
brew install openssl readline xz #可选安装
- 使用
brew
安装pyenv
brew install pyenv
- 修改bash_profile配置环境变量
open ~/.bash_profile #进入文件
export LDFLAGS="-L/usr/local/opt/readline/lib"
export CPPFLAGS="-I/usr/local/opt/readline/include"
source ~/.bash_profile #保存更改
- 常用命令
pyenv install --list #列出可安装版本
pyenv version #显示当前活动的Python版本
pyenv versions #显示已下载的所有python版本
pyenv install <version> #安装所需版本
pyenv install -v <version> #安装对应版本,若发生错误,可以显示详细的错误信息
pyenv uninstall <version> #卸载指定版本
pyenv which python #显示当前python安装路径
pyenv global <version> #设置默认Python版本
pyenv local <version> #当前路径创建一个.python-version, 以后进入这个目录自动切换为该版本
pyenv shell <version> #当前shell的session中启用某版本,优先级高于global 及 local
pyenv local --unset #取消设置
- pyenv指令集: github
「pyenv-virtualenv」python库管理
virtualenv
可以实现以上功能,但是牛逼的是pyenv
也集成了这个插件,可以通过pyenv
直接管理的virtualenv
- 安装
brew install pyenv-virtualenv
- 配置
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
添加到~/.bash_profile中
- 创建
pyenv virtualenv <version> <env_name>
- 常用命令:
pyenv virtualenvs #显示现有virtualenvs和conda环境的列表
pyenv activate <env_name> #激活停用pyenv virtualenv
pyenv deactivate <env_name> #停用pyenv virtualenv
pyenv uninstall <env_name> #删除现有virtualenv
- 参考资料:github
「遇到的问题 & PS」
- 尽管安装了所需的环境,但由于未满足的系统依赖关系,编译失败
pyenv install <version>
安装 python 时报错
zipimport.ZipImportError: can't decompress data; zlib not available
解决方法:CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install -v 3.7.0
参考链接: https://github.com/pyenv/pyenv/issues/25 - 在执行
pyenv global <version>
后虽然命令行中显示活动的python版本已经更改
但在shell中显示的python版本仍然没有改变
解决方法:在.bash_profile的最下面加入if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
- 在创建virtualenv后
pyenv virtualenvs
,对于同一个环境会显示两条,对此,官方的解释是