一劳永逸
为了避免每次都要“先下载,再安装”这个繁琐过程,我写了一个简易脚本,在一定程度上解放双手。
脚本代码如下:
#!/bin/bash
cache="/root/.pyenv/cache"
pypack="Python-$1.tar.xz"
if [ ! -d "$cache" ]; then # 如果不存在此目录,创建
mkdir $cache
fi
if [ ! -f "$cache/$pypack" ]; then # 如果不存在 Python 安装包,就用 wget 下载
wget -P $cache https://www.python.org/ftp/python/$1/$pypack
# `wget -P dir url` 表示将 url 指向的内容下载到 dir 目录下
else
printf "\033[1;33m$cache/$pypack is existed.\033[0m\n" # 提示语
fi
pyenv install $1 # 执行安装
事实上,我常写一些小工具满足自需,为方便管理,统一放在了 /home/tools 目录中。
做法如下:
(root) $ vim /home/tools/pyenv-install
# 复制上述代码,wq 保存退出
(root) $ chmod 777 /home/tools/pyenv-install # 修改权限
(root) $ echo "export PATH=$PATH:/home/tools/" >> ~/.bashrc # 添加环境变量
(root) $ source ~/.bashrc
# 现在可以用 pyenv-install 命令下载安装 python 了
(root) $ pyenv-install 3.6.6
仍有许多不足之处。比如国内访问 www.python.org 还是比较慢,有需求的话可以换国内源。另一方面,pyenv 支持很多版本的 python(pyenv install -l
可查看),但本脚本仅支持官方那一类。好在解决问题的思路是一致,按需修改 url 即可。
pyenv 下载不下来
pyenv 是个好东西,美中不足的是每当使用 pyenv install -v x.x.xx 的时候,会发现,咋不动,卡屏了?然后去/tmp/python-build.*/pythonfilename 看一下,发现这个文件增大的速度简直比蜗牛还慢,不能忍!
查阅一番,发现了一个这样的环境变量PYTHON_BUILD_MIRROR_URL。
PYTHON_BUILD_MIRROR_URL overrides the default mirror URL root to one of your choosing.
具体使用:
这里我用的sohu的镜像,速度不错。
由于我下的是2.7.12版本,所以最后的版本号是2.7.12,
如果你要下自己需要的版本,请修改。
可以先去http://mirrors.sohu.com/python看看有没有自己要的版本
export PYTHON_BUILD_MIRROR_URL="http://mirrors.sohu.com/python/2.7.12/"
pyenv install -v 2.7.12
网友评论