python 版本管理工具 pyenv 使用备忘
安装步骤
- 安装 xcode-select 以及 homebrew(前者在安装 git 的时候装过,后者 mac 开发必备无需解释)
- 安装 pyenv
brew install pyenv,用pyenv -v验证是否安装成功 添加如下几行 到相应 shell 的配置文件(比如我的
~/.zshrc文件),如果不生效,用 source 命令source ~/.zshrcexport PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
常用命令
pyenv install 2.7.13
pyenv uninstall 2.7.13
pyenv install --list // 查看可安装版本
pyenv global 2.7.13 // 全局应用 2.7.13
pyenv local 2.7.13 // 当前文件夹应用 2.7.13
pyenv version // 查看当前应用的版本
pyenv versions // 查看当前可用版本(本机已安装)
python -V // 执行当前目录下的 python 文件时将会使用的 python 版本号
然而...
这样一来,在命令行中就可以随意切换 python 版本号运行 python 文件了,然而我最熟悉的运行 python 的方式是在 sublime 中 command+b,这特么就尴尬了,在命令行中 python -V 的版本号可以随意切换,但是 command+b 使用的 python 执行路径却是不变的。
因为系统的 python 版本是 2.7.x,显然要与时俱进学习都已经出来十年的 3.x,在 sublime 的 build system 选项中新建个新的文件,填入以下内容:
{"cmd": ["/usr/local/bin/python3", "$file"],"selector": "source.py"}
cmd 的第一个参数就是我的 python3 的路径,可以用 which python3 获取。该 py3 是我通过 brew 安装的,也可以用 pyenv 安装的 py3,不过可能会有坑,比如你在某个文件夹下用 pyenv local 命令安装了 py2,然后 sublime 中用了 pyenv global 的 py3 路径,因为 local 作用大于 global,local 文件夹下的文件 command+b 可能就会报错,FYI。所以还是用 brew 安装的全局 py3 吧~
python 版本管理工具 pyenv 使用备忘的更多相关文章
- python版本管理工具pyenv和包管理工具pipenv
一.pyenv版本管理工具 pyenv是一个python版本管理工具,可以实现轻松切换多个python版本 它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理v ...
- 腾讯云服务器ubuntu16.04系统下安装Python版本管理工具pyenv
一. 系统环境 腾讯云提供的系统是ubuntu 16.04 LTS,系统默认的Python版本是2.7.12,我想要安装3.6和其他的版本. 比较方便的是腾讯云已经默认安装好了git和curl ...
- Ubuntu安装Python版本管理工具pyenv
gyf@gyf-VirtualBox:~$ git clone https://github.com/yyuu/pyenv.git ~/.pyenvCloning into '/home/gyf/.p ...
- 你应该学会的Python多版本管理工具Pyenv
目录 Pyenv 简介 安装pyenv 通过pyenv安装python各种发行版 pyenv命令 多版本Python的管理 Pyenv常见问题Wiki Pyenv 简介 首先,该工具是在类linux环 ...
- Ubuntu中python多版本管理工具-pyenv
ubuntu系统版本:16.04 # lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubu ...
- python 工具链 多版本管理工具 pyenv
理解Shims pyenv会在系统的PATH最前面插入一个shims目录: $(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin 通过一个rehashing ...
- 抓包工具tshark使用备忘
抓包命令行工具tshark可以用于自定制,相比GUI工具可以实现一些自动化,譬如把某些关注的数据抓起下来存放到文本中,然后再分析输出. demo: std::string deco ...
- python常用函数和方法 - 备忘
语法语句篇 除法运算(精确运算和截断运算) 在python2中,除法运算通常是截断除法.什么是截断除法: >>> 3/4 0 # 自动忽略小数项 要是想 得到正确结果 怎么办呢? m ...
- Python全栈2期 备忘
http://www.cnblogs.com/linhaifeng/ http://www.cnblogs.com/alex3714/ http://www.cnblogs.com/wupeiqi/ ...
随机推荐
- 项目实战12.1—企业级监控工具应用实战-zabbix安装与基础操作
无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html ...
- 关于SQLALCHEMY之(一)
SQLALCHEMY是一个不可靠的方案.对于初级开发者而言,并不如SQL语句来得简明. 或者说,我不知道是不是所有的ORM数据库对象映射方案都存在这么一种情况.纯以开发逻辑而言.下述两段代码的结论是一 ...
- springMVC上传错误StandardMultipartHttpServletRequest
异常信息 java.lang.ClassCastException: org.springframework.security.web.servletapi.HttpServlet3RequestFa ...
- SparkStreaming读取Kakfa数据时发生OffsetOutOfRangeException异常
参考文章:http://www.jianshu.com/p/791137760c14 运行SparkStreming程序一段时间后,发现产生了异常: ERROR JobScheduler: Error ...
- 开始连载啦~每周2更共11堂iKcamp课|基于Koa2搭建Node.js实战项目教学(含视频)| 课程大纲介绍
- JMeter接口HTTP请求implementation不选java会报错解决方法
1.若不对c参数和d参数进行URL编码则需要选择implementation为java: 2.若想不设implementation值,则需进行c参数d参数URLEncoding import java ...
- node.js之用ajax获取数据和ejs获取数据
摘要:学了node之后有时候分不清前台和后台,今天用ajax和ejs来从后台获取数据,没有数据库,用json数据来进行模拟数据库:来区分前台和后台需要干什么? 一.用ejs获取数据 1.文件目录 2. ...
- bzoj 4824: [Cqoi2017]老C的键盘
Description 老 C 是个程序员. 作为一个优秀的程序员,老 C 拥有一个别具一格的键盘,据说这样可以大幅提升写程序的速度,还能让写出来的程序 在某种神奇力量的驱使之下跑得非常快.小 ...
- openstack操作之一 命令行
在openstack环境中提供了多种操作虚拟机的方法,有最简单直接的dashborad界面,有不直观但高效的命令行,还有进阶版的postman调用openstack restfulapi和命令行中使用 ...
- .NET使用DAO.NET实体类模型操作数据库
一.新建项目 打开vs2017,新建一个项目,命名为orm1 二.新建数据库 打开 SqlServer数据库,新建数据库 orm1,并新建表 student . 三.新建 ADO.NET 实体数据模型 ...