TS3: Pyenv 最终介绍

Tech Soup ~ 技术鳮汤 ;-)

期望这篇解决所有 Pyenv 核心困惑.

snip

Pyenv 是 Python 项目环境隔离/控制器 , 最基本的使用:

  • 基于官方仓库安装:
    • $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
  • 然后配置到环境中:
    • $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    • $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
  • 接着就可以自由控制运行时环境了:
    • 安装目标版本,比如:
      • pyenv install 2.4.2
    • 复制一个项目环境:
      • pyenv virtualenv 2.4.2 242proj
    • 设定当前目录以内默认使用新环境:
      • pyenv local 242proj

就以上三个环节的配置, 就可以完成:

  • 自由安全安装系统无关, 自用 Python 版本环境
  • 根据不同项目, 自由安全绑定不同 Python 运行时
  • 根据同类项目, 自由绑定含有相同 pip 模块依赖树的Python 运行时

background

为什么有 Pyenv 等等环境控制工具?

大家开始学习 Python 时, 可能最惊讶/震惊/自豪 的发现就是

  • 大部分操作系统, 都内置了 Python 运行环境
  • 也就是说, 不用我们专门安装, 从买到电脑那一瞬间开始
  • 其实, 我们都有一个完备的可用 Python 版本环境了

因为, Python 太好用, 无论哪个系统厂商, 都有大量的内置工具/软件依赖 Python

  • 所以, 也都预先安装了...
  • 那么, 这也就带来一个问题:
    • 系统 Python 环境, 是很多系统依赖软件需要的环境
    • 这一环境, 肯定不能轻易破坏, 否则, 引发系统崩溃
    • 那就等于我们自己杀死了自己的电脑...
  • 这其实, 也是很多教程中涉及安装 Python 模块时
    • 有的, 不负责的提示使用 sudo 命令
    • 这是临时将用户权限提升到系统管理员的指令
    • 造成的后果, 是一般人难以控制的
    • 当然, windows 系统本身是单人系统,并没有严格区分系统和用户权限
    • 所以, 在 windows 中看起来可以自由使用系统 Python 环境来开发学习
    • 其实, 只是另外一种慢性自杀而已

problems

由于 Python 发展太久, 中间有太多意外决策, 同时开源项目又不禁止大家的探索...

所以, 现在任何系统中的 Python 运行时环境都可以混乱不堪...

正如 xkcd: Python Environment 所描述的那样...

但是, 对于正常学习/使用者而言, 一般只想解决几个问题:

  • 和系统环境隔离
    • 运行 Python 时, 不触及系统自身依赖的s
  • Python 版本隔离
    • 想用哪个版本的 Python 不用担心干挠谁
  • 项目模块依赖隔离
    • 不同项目之间用 pip 安装的模块相互独立
    • 可以分别自由升级/降级/删除/...
    • 而不干挠各自的开发/运行

那么, 在很多年探索后, Pyenv 正好是解决以上问题的那个工具

Pyenv

正如项目名称一样:

  • Python
  • environment

Python 环境 ~ 控制器, 控制了核心两种环境:

  • Python 版本环境, 也就是说, Python 2.1/3.1 这种大版本
  • Python 运行时模块依赖环境, 也就是说, 具体项目中依赖的第三方一大堆模块

那么, 如何最短手续就进入 Pyenv 的世界享受可控 Python 环境?

pyenv-installer

pyenv/pyenv-installer: This tool is used to install `pyenv` and friends.

首次安装, 建议使用官方提供的安装器

  • 不用管 homebrew 哪什么其它东西, 那些和 Pyenv 并无直接关系
  • 何况 brew 在中国, 还是很不受到待见的...那速度哭吧...

如何检验 pyenv 安装成功?

$ env | grep pyenv

    PYENV_ROOT=/指向
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值