pyenv ~/.pyenv/cache 不生效问题

关于pyenv 安装很慢的解决办法:
可以先手动下载对应的版本压缩包,放到~/.pyenv/cache/下面,pyenv会校验md5值和完整性,确认无误的话就不会重新下载直接从这里安装

目前网上大都是这个说法,但是这里却有个需要特别注意的地方

实验步骤

原始安装

这里原始安装有时候会特别慢

root@pts/2 $ pyenv install 3.4.4 `[-v]`
Downloading Python-3.4.4.tgz...-> https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz

手工下载再安装

根据上一步提示下载Python-3.4.4.tgz,然后copy到 ~/.pyenv/cache/
~/.pyenv/cache/ 一般需要手动创建,再次安装,还是重新下载安装

root@pts/2 $ pyenv install 3.4.4 `[-v]`
Downloading Python-3.4.4.tgz...-> https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz

查找问题

pyenv 安装原理:
从官网下载对应的版本压缩包到/tmp/目录,然后在/tmp/目录执行编译安装,安装到~/.pyenv/versions/下面

## 在 tmp 下面发现现在的文件名却是 Python-3.4.4.tar.gz
## 和安装工程中提示下载的文件名不一致
root@pts/0 $ ls -l /tmp/python-build.20160608161435.16831
total 2960
-rw-r--r-- 1 root root 3031040 Jun  8 16:14 Python-3.4.4.tar.gz

## 修改文件名后copy到 ~/.pyenv/cache
## 然后重新安装
root@pts/0 $ cp -a Python-3.4.4.tgz ~/.pyenv/cache/Python-3.4.4.tar.gz

root@pts/0 $ pyenv install 3.4.4 -v
/tmp/python-build.20160608164944.31714 /tmp
/tmp/python-build.20160608164944.31714/Python-3.4.4 /tmp/python-build.20160608164944.31714 /tmp
Installing Python-3.4.4...
configure: WARNING: unrecognized options: --enable-unicode
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for --enable-universalsdk... no
checking for --with-universal-archs... no


... ...

Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-7.1.2 setuptools-18.2
/tmp/python-build.20160608161532.16979 /tmp
/tmp
Installed Python-3.4.4 to /root/.pyenv/versions/3.4.4

从这里看到这次安装没有重新下载,调用了 cache中的文件,最终安装成功

    原文作者:全栈运维
    原文地址: https://www.jianshu.com/p/f3190b697e8d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞