Centos7安装Python虚拟环境之pyenv
一.安装pyenv:
1.>安装依赖包:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2.>安装pyenv包:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
3.>设置环境变量:
#vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
#source ~/.bashrc
#即是启动语句,重启系统执行这条语句
exec bash
二、pyenv基本命令
1.安装Python
pyenv install 3.4.0 #但是国内直接执行命令安装会报错,如下图:
解决方法:
在当前用户家目录下.pyenv/目录下创建cache目录,将下载好的Python-3.5.7的包放在该目录下,就不会去下载Python文件,直接执行安装,而不需要下载,节省下载时间,如下图:
2.查看pyenv支持的python版本
3.查看当前pyenv可检测到的所有版本,处于激活状态的版本前以 * 标示.
4.切换系统全局Python版本
但是这样粗暴的切换很有可能会出现问题,通常我们只需要在需要切换版本的路径下切换就好
5.目录下使用指定的Python版本
[root@k8s-node2 mnt]# pyenv global system #将当前的全局Python版本还原到之前的版本
[root@k8s-node2 mnt]# python -V #系统自带的Python版本
Python 2.7.5
[root@k8s-node2 mnt]# pyenv version #检查 pyenv当前py 版本
system (set by /root/.pyenv/version)
[root@k8s-node2 mnt]# mkdir ops #创建一个测试目录
[root@k8s-node2 mnt]# cd ops/
[root@k8s-node2 ops]# pyenv local 3.5.7 #使用local子命令指定当前目录使用3.5.7版本
[root@k8s-node2 ops]# python -V #检查当前版本
Python 3.5.7
[root@k8s-node2 ops]# cd #切换到其他目录
[root@k8s-node2 ~]# python -V #再次检查Python版本 ops目录下版本为3.5.7 全局为2.7.5 符合预期
Python 2.7.5
6.对pyenv数据库进行更新(安装Python后执行):
pyenv rehash
7.卸载已安装的Python
pyenv uninstall 3.5.7
8.问题
在shell脚本中发现无法正常切换,哪位大佬知道原因可以告诉我一下
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少