Mac电脑使用pyenv管理多版本python环境 _

利用Mac包管理工具brew安装pyenv,pyenv用来管理所有python版本。如果没有安装brew,先安装一下吧。

安装pyevn

复制代码
$ brew install pyenv
$ pyenv -v
pyenv 1.2.6

查看所有的python版本(pyenv管理的所有版本)

复制代码
$ pyenv versions
* system (set by /Users/xxx/.pyenv/version)

* 表示当前正在使用的版本,system表示用的是系统python版本

查看可安装python版本

复制代码
$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  ...

选择版本进行安装

复制代码
$ pyenv install 3.5.5
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.5.5.tar.xz...
-> https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz
Installing Python-3.5.5...
python-build: use readline from homebrew
Installed Python-3.5.5 to /Users/xxx/.pyenv/versions/3.5.5

墙内 环境,会卡在这里,可以开代理,或者使用国内镜像。

使用国内镜像:

复制代码
v=3.5.5|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v

查看所有安装的版本

复制代码
$ pyenv versions
* system (set by /Users/xxx/.pyenv/version)
  3.5.5

可以看到多了一个3.5.5版

切换版本

复制代码
$ pyenv global 3.5.5 # 全局切换
$ python -V # 验证一下是否切换成功

此处用也可用local,只对当前目录生效

复制代码
$ pyenv local 3.5.5 # 当前目录及其目录切换
$ python -V # 验证一下是否切换成功

此处有坑!

用pyenv versions查看,明明已经切换成功,但是用python -V却还是系统版本。原因是pyenv没有加到$PATH环境变量里去,解决办法如下:

复制代码
export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH

此时,再次查看python -V,已经成功切换到pyenv指定的版本。

可以把上边两句加到~/.bash_profile里去,永久生效。

有时设置了pyenv local版本后,再设置global会发现没有生效,可以尝试:

复制代码
pyenv local --unset

解除local设置。

要切换回系统版本,用同样命令:

复制代码
$ pyevn global system

卸载python版本

复制代码
$ pyenv uninstall 3.5.5
相关推荐
请为小H留灯2 小时前
Mac 常用操作与维护技巧
macos·电脑·清理电脑·常用技巧
dialect_2 小时前
KMP算法
开发语言·c++·算法
总要学点什么3 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
前端精髓3 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣4 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
开开心心_Every4 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c4 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
Nuanyt4 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌4 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_967987375 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数