pyenv下载缓慢的解决办法

0. 下载Python源码

以下下载地址来源 : 搜狐镜像站

Python版本号 下载地址
2.1.3 Python-2.1.3.tgz
2.2.3 Python-2.2.3.tgz
2.3.7 Python-2.3.7.tgz
2.4 Python-2.4.tgz
2.4.1 Python-2.4.1.tgz
2.4.2 Python-2.4.2.tgz
2.4.3 Python-2.4.3.tgz
2.4.4 Python-2.4.4.tgz
2.4.5 Python-2.4.5.tgz
2.4.6 Python-2.4.6.tgz
2.5 Python-2.5.tgz
2.5.1 Python-2.5.1.tgz
2.5.2 Python-2.5.2.tgz
2.5.3 Python-2.5.3.tgz
2.5.4 Python-2.5.4.tgz
2.5.5 Python-2.5.5.tgz
2.5.6 Python-2.5.6.tgz
2.6.6 Python-2.6.6.tgz
2.6.7 Python-2.6.7.tgz
2.6.8 Python-2.6.8.tar.xz
2.6.9 Python-2.6.9.tar.xz
2.7 Python-2.7.tgz
2.7.1 Python-2.7.1.tgz
2.7.2 Python-2.7.2.tar.xz
2.7.3 Python-2.7.3.tar.xz
2.7.4 Python-2.7.4.tar.xz
2.7.5 Python-2.7.5.tar.xz
2.7.6 Python-2.7.6.tar.xz
2.7.7 Python-2.7.7.tar.xz
2.7.8 Python-2.7.8.tar.xz
2.7.9 Python-2.7.9.tar.xz
2.7.10 Python-2.7.10.tar.xz
2.7.11 Python-2.7.11.tar.xz
2.7.12 Python-2.7.12.tar.xz
2.7.13 Python-2.7.13.tar.xz
3.0.1 Python-3.0.1.tgz
3.1 Python-3.1.tgz
3.1.1 Python-3.1.1.tgz
3.1.2 Python-3.1.2.tgz
3.1.3 Python-3.1.3.tgz
3.1.4 Python-3.1.4.tar.xz
3.1.5 Python-3.1.5.tar.xz
3.2 Python-3.2.tar.xz
3.2.1 Python-3.2.1.tar.xz
3.2.2 Python-3.2.2.tar.xz
3.2.3 Python-3.2.3.tar.xz
3.2.4 Python-3.2.4.tar.xz
3.2.5 Python-3.2.5.tar.xz
3.2.6 Python-3.2.6.tar.xz
3.3.0 Python-3.3.0.tar.xz
3.3.1 Python-3.3.1.tar.xz
3.3.2 Python-3.3.2.tar.xz
3.3.3 Python-3.3.3.tar.xz
3.3.4 Python-3.3.4.tar.xz
3.3.5 Python-3.3.5.tar.xz
3.3.6 Python-3.3.6.tar.xz
3.4.0 Python-3.4.0.tar.xz
3.4.1 Python-3.4.1.tar.xz
3.4.2 Python-3.4.2.tar.xz
3.4.3 Python-3.4.3.tar.xz
3.4.4 Python-3.4.4.tar.xz
3.4.5 Python-3.4.5.tar.xz
3.4.6 Python-3.4.6.tar.xz
3.5.0 Python-3.5.0.tar.xz
3.5.1 Python-3.5.1.tar.xz
3.5.2 Python-3.5.2.tar.xz
3.5.3 Python-3.5.3.tar.xz
3.6.0 Python-3.6.0.tar.xz
3.6.1 Python-3.6.1.tar.xz
3.6.2 Python-3.6.2.tar.xz

1. 将文件名改为 sha64 码

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import os
import hashlib
import sys

path = '/home/aleng/python/'

def get_file_path(dir_path):
    all_file = os.listdir(dir_path)
    all_file_path = []
    for i in range(len(all_file)):
        all_file_path.append(dir_path + all_file[i])
    return all_file_path

def get_hash(file_path):
    algo = hashlib.sha256()
    with open(file_path, 'rb') as f:
        while True:
            data = f.read(4096)
            if not data:
                break
            algo.update(data)
    return algo.hexdigest()

def rename(path):
    all_path = get_file_path(path)[:]
    for i in range(len(all_path)):
        each_file_path = all_path[i]
        if 'tar.xz' not in each_file_path:
            if '.tgz' not in each_file_path:
                continue
        a = get_hash(each_file_path)
        os.rename(each_file_path, path + a)
        print('rename ' + each_file_path + ' to ' + a)

if __name__ == '__main__':
    rename(path)
#复制上面代码并保存为 sha64.py
#将 path 改为你的储存位置
chmod a+x [path]/sha64.py
#运行 sha64.py
[path]/sha64.py

2. 本地建立镜像并安装 Python

cd [path]
python3 -m http.server
export PYTHON_BUILD_MIRROR_URL="http://0.0.0.0:8000/" 
pyenv install [version]