Mac系统自带的Python是2.7.10,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pyenv就是这样一个Python版本管理器 。

1.安装homebrew,通过homebrew再安装pyecharts,执行下述命令安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 测试是否安装成功,执行

brew  -v

出现如下提示则成功

Homebrew 2.1.4
Homebrew/homebrew-core (git revision c58dc; last commit 2019-06-05)

如果已经安装过homebrew的可以忽略第一步。

2.安装pyenv

brew install pyenv

查看是否安装成功,执行 pyenv -v

pyenv 1.2.11

出现版本号的上述提示则表示安装成功

3.查看可安装的python版本

pyenv install --list

会列出所有可安装的python版本,有很多,如下简单列了几个

Available versions:
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.6.7
3.6.8
3.7.0
3.7-dev
3.7.1
3.7.2
3.7.3

4.安装特定版本的python

pyenv install <version>

比如安装3.6.4版本,执行下述命令

pyenv install 3.6.4 -v

5.查看pyenv安装的版本

pyenv versions

会列出所有已经安装的python版本,如下

system
* 3.6.4 (set by /Users/kumufengchun/Documents/python/.python-version)

列出了两个,一个是系统自带的,一个是刚安装的3.6.4版本

6.编辑.bash_profile

安装了之后发现使用的时候还是系统自带的版本,需要编辑.bash_profile文件

切换到根目录

cd ~

打开.bash_profile 文件,如没有该文件,新建一个,在该文件输入如下代码

if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

保存,然后输入如下命令,使用更新之后的.bash_profile内容

source .bash_profile

7.查看当前的python 版本

pyenv version
3.6.4 (set by /Users/kumufengchun/Documents/python/.python-version)

后边括号中内容表示这个版本是由哪条途径激活的(global、local、shell)

pyenv global <version>  # 全局设置python版本为指定版本,设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
pyenv local <version> # 设置当前路径下python版本为指定版本,设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。
通过这种方式设置的 Python 版本优先级较 global 高。
pyenv shell <version> # 设置当前shell窗口使用的python版本为指定版本,设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。
这个版本的优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本。

  

8.切换版本

[root@localhost ~]# pyenv global 3.6.4
[root@localhost ~]# pyenv version
3.6.4 (set by /root/.pyenv/version)

切换到系统自带的版本

[root@localhost ~]# pyenv local system
system (set by /Users/yangjiao/Documents/python/.python-version)

  

9.安装完成之后需要对数据库进行更新

pyenv rehash

10.卸载python 3.4.0版本

pyenv uninstall 3.4.0

11.设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version 文件的方式

#在本地创建目录ops,执行pyenv local 3.5.3后,只有在这个目录是3.5.3的版本,别的目录使用默认的版本.

[root@localhost ~]# python -V
Python 3.5.1
[root@localhost ~]# pyenv versions
system
* 3.5.1 (set by /root/.pyenv/version)
3.5.3
[root@localhost ~]#
[root@localhost ~]# mkdir ops
[root@localhost ~]# cd ops/
[root@localhost ops]# pyenv local 3.5.3
[root@localhost ops]# python -V
Python 3.5.3
[root@localhost ops]# cd ..
[root@localhost ~]# python -V
Python 3.5.1

  

参考:https://www.cnblogs.com/saneri/p/7642316.html

最新文章

  1. 关于arcgis engine的注记显示与关闭问题
  2. hosts持续更新
  3. ie 7/8不支持trim的属性的解决方案
  4. Android中使用Parcelable
  5. python产生随机名字
  6. windows8 安装IIS 和 添加网站(转)
  7. 移动前端meta
  8. 我的Chrome
  9. WEB 小案例 -- 网上书城(一)
  10. (二)Qt窗口应用程序Widget
  11. js实现原生选项卡
  12. es6入门2--对象解构赋值
  13. JavaScript RegExp.$1
  14. [k8s]zookeeper集群在k8s的搭建(statefulset模式)-pod的调度
  15. 我的Chrome插件
  16. Java的StringBuffer和StringBuilder类
  17. el-upload源码跳坑2
  18. 案例:java进制互转
  19. Task的运行原理和工作窃取
  20. linux profile\bashrc\bash_profile之间的区别和联系

热门文章

  1. [原]NYOJ-组合数-32
  2. 关于avpicture_fill 和 sws_scale的关系
  3. 【LeetCode】048. Rotate Image
  4. Django中的事务(Transaction)管理
  5. Error Domain=NSURLErrorDomain Code=-1202,Https服务器证书无效
  6. LCS(最长公共子序列问题)
  7. HDOJ5438(图的各个连通分量遍历)
  8. JAVAset容器基本知识
  9. 【转】 Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版
  10. js拼的onclick调用方法需要注意的地方 之一