Python版本管理工具之pyenv镜像

这是一个很长很长的故事,长到以至于我一时不知该从何说起,我想我应该从它说起—SpringBoot。
事情起因是这样的,公司系统调用第三方服务的时候需要做个验证码校验,一开始我们是花钱买了一个第三方的服务,然而我就是这样一个闲得蛋疼的人,没事捣腾下图像识别,其实这个验证码比较简单(具体可以在下一篇博客中写写),作为一个代码搬运工,这样搬(chao)砖(xi)还是比较简单的。本着分而治之的微服务理念,直接部署成一个SpringBoot的单应用。部署结束来自己测试下,但是这台服务器没有开外网,只能用curl测了,但是curl传过来的图片base64有点问题,莫名其妙多了很多空格,就想着用httpie测了.

httpie安装

1
2
3
4
5
6
# Mac
brew install httpie
# Linux
yum install httpie
# Python
pip install --upgrade httpie

没有root权限,只能选择pip安装了

pip安装

1
2
3
4
5
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
# 安装出错
File "get-pip.py", line 43
_b85alphabet = (b"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

官网描述如下:

pip is already installed if you’re using Python 2 >=2.7.9 or Python 3 >=3.4 binaries downloaded from python.org, but you’ll need to upgrade pip. Additionally, pip will already be installed if you’re working in a Virtual Environment created by virtualenv or pyvenv.

就是说2.7.9和3.4版本的Python或者通过virtualenvpyenv安装的Python已经自带pip,算了,还是用pyenv吧,本地mac用的就是pyenv,比较熟悉了。

pyenv安装

1
2
3
4
5
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
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
#最后重启终端或者执行exec $SHELL

障碍

接下来咱装个新版本的Python吧

1
pyenv install 2.7.9

接下来,你可以去泡杯咖啡,上个厕所,and….. 回来你就会发现还没装好或者抛出一堆异常是什么鬼👻?这么慢还怎么干活?这么慢还能忍?

进击

经过研究,读了两天的pyenv这个工具的source code,然后配合它搭了个服务器,就称之为pyenv镜像吧,使用如下:

1
2
3
# 在终端执行
export PYTHON_BUILD_MIRROR_URL="http://pyenv.dev-heaven.com"
# 上面命令禁止当前终端有效,关闭后失效,如果想保持,请将该命令加入到.bash_profile中

可以访问下:http://pyenv.dev-heaven.com 看看支持哪些版本哦,我会尽快完善的,记得提醒我哦 #jarvan4dev@163.com

接下来,直接pyenv install 2.7.9安装吧!

参考链接:

http://mirrors.aliyun.com/help/pypi
https://github.com/pypa
https://github.com/pypa/pip
https://github.com/yyuu/pyenv#installation

我知道是不会有人点的,但万一有人想不开呢!