理解Shims

pyenv会在系统的PATH最前面插入一个shims目录:

$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin

通过一个rehashing操作就可以在该目录匹配所有已经安装的不同版本的python命令,比如python, pip等。 所有对Python可执行文件的查找都会首先被这个shims路径截获,后面的设置就不生效了。

Installation

  1. centos下的依赖

    yum install -y gcc readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs
  2. 通过bash安装

    $ curl https://pyenv.run | bash
  3. 重启shell后生效

    $ exec $SHELL

Uninstallation

  1. pyenv 的默认安装位置是 ~/.pyenv,由变量 $PYENV_ROOT控制,删除这个目录即可
$ rm -fr ~/.pyenv
  1. 删除 .bashrc中的内容
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  1. 重启shell
$ exec $SHELL

Usage

查看版本、安装、卸载

pyenv install --list # 查看可安装的python版本
pyenv versions # 查看已经安装的版本
pyenv install 3.5.0 # 安装 python3.5.0
pyenv uninstall # 卸载

更新pyenv

为所有已安装的可执行文件(如:~/.pyenv/versions/bin/)创建shims

pyenv rehash

加速

  1. pyenv淘宝镜像源加速:https://npm.taobao.org/mirrors/python/

  2. 下载需要的版本放到~/.pyenv/cache文件夹下面

  3. 然后执行 pyenv install 版本号 安装对应的python版本

  4. 傻瓜式脚本如下,其中v表示要下载的版本号

    version=3.7.3;wget https://npm.taobao.org/mirrors/python/$verrsion/Python-$version.tar.xz -P ~/.pyenv/cache/;pyenv install $version

参考

  1. pyenv项目地址 https://github.com/pyenv/pyenv
  2. 安装参考 https://github.com/pyenv/pyenv-installer
  3. http://einverne.github.io/post/2017/04/pyenv.html

python 工具链 多版本管理工具 pyenv的更多相关文章

  1. python 工具链 包管理工具 pip

    Installation mac下可以采用 brew,easy_install(python自带)等方式安装. centos下可以采用yum,easy_install等方式安装. 但是上面两种方式在系 ...

  2. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

  3. DevOps工具链

    Devops工具链 DevOps实际是一种文化上的变迁,代表了开发.运维.测试等环节之间的协作,因此DevOps工具是非常多种多样的,甚至可以由多种工具组成一个完整的DevOps工具链.此类工具可以应 ...

  4. 版本管理工具git与svn简介

    版本管理工具 版本管理工具简介 常见版本管理工具 cvs(Concurrent Versions System) vss(Visual SourceSafe) svn 常用的版本管理工具 git 流行 ...

  5. linux driver ------ 交叉工具链(cross toolchain)

    在 ARM Linux 的开发中,人们趋向于使用 Linaro(http://www.linaro.org/)工具链团队维护的 ARM 工具链,它以每月一次的形式发布新的版本,编译好的可执行文件可以网 ...

  6. Buildroot构建指南——工具链

    Linux系统的交叉编译工具链用来将源代码变成bin文件或者库文件的一个软件.一般大家默认工具链等于gcc或者arm-linux-gcc,但是实际上,gcc只是工具链的编译器部分,不是全部,制作一个工 ...

  7. Buildroot构建指南——工具链【转】

    本文转载自:http://blog.csdn.net/zhou_chenz/article/details/52346134 Linux系统的交叉编译工具链用来将源代码变成bin文件或者库文件的一个软 ...

  8. 一文解读DevOps工具链 (转)

    在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所 ...

  9. gcc 交叉工具链中工具使用(arm-linux-xxx)

    在Ubuntu系统中使用 gcc 系列工具是在PC机上使用 arm-linux-gcc 编译的目标 是在 arm CPU上使用 一.安装交叉编译工具链 1. 编译工具怎么获取 1)从官网 http:/ ...

随机推荐

  1. 使用 NLTK 对文本进行清洗,索引工具

    使用 NLTK 对文本进行清洗,索引工具 EN_WHITELIST = '0123456789abcdefghijklmnopqrstuvwxyz ' # space is included in w ...

  2. maven resource filter 说明和配置方法

    <maven> <dependencies> <dependency> ... </dependency> </dependencies> ...

  3. CSRF的几种防御方法的利弊分析

    本文直接从防御方式开始讨论,防御CSRF有4种方法: 使用POST替代GET 检验HTTP Referer 验证码 Token 使用POST替代GET 一些程序员在开发的时候都是用GET.POST通用 ...

  4. setAttribute 方法

    IE8及以下不支持 setAttribute用来修改dom标签上的属性比如(onclick); getAttribute用来获取dom标签上的属性

  5. mac 中使用git 和pycharm提交项目

    一.安装Git 1.验证git是否安装: 终端中输入: git 如果安装过出现: 2.安装git: 进入https://git-scm.com: 点击 Download 2.23.0 for Mac ...

  6. 模块 subprocess 交互shell

    subprocess 交互shell 执行shell命令, 与操作系统交互 三种执行命令的方法 subprocess.run(*popenargs, input=None, timeout=None, ...

  7. Selenium Grid 的使用

    简介 Selenium Grid 是 selenium 的三大组件之一,允许用户同时在不同的机器和系统上测试不同的浏览器,可以分布式的来执行我们的自动化测试,也可以测试不同浏览器的兼容性. Selen ...

  8. 你还不知道Vue的生命周期吗?带你从Vue源码了解Vue2.x的生命周期(初始化阶段)

    作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e8 ...

  9. what the fuck!(二分查找 / 暴力模拟)

    what the fuck! Description 现在有一家公司有nnn个员工(nnn为奇数),他们的工资发放是基本工资+提成,现在这家公司计划再招一批人.要写一篇招聘启事,但是对于这个招聘启事中 ...

  10. C++ delete报错解析

    C++ delete报错 今天写了如下代码 #include <iostream> #include <algorithm> using namespace std; int ...