问题:
1、Python解释器版本混乱, 2和3差别巨大, 而且细分版本也不尽相同, 难以选择和管理.
2、不同Linux发行版自带Python不同, 如ubuntu16自带2.7和3.5版本, 其中系统许多组件依赖于自带解释器, 一旦删除或者更改都可能会造成系统出问题.
3、不同的Python解释器软件包管理也是问题, 如pip和ipython等必备包组件, 而且在项目开发中如何保证不同的包环境互不干扰也是一个问题.
那么有没有一个解决办法能在管理不同解释器版本的同时控制不同的包环境呢? 有的, 就是pyenv.
pyenv是一个forked自ruby社区的简单、遵循UNIX哲学的Python环境管理工具,
它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.
各版本下pyenv安装方式:
sudo apt install git vim curl
ubuntu18.04.4版本下:
在 官网:https://github.com/pyenv-installer下有安装文档
pyenv-installer安装:(个人觉得看网络)
创建Python管理用户然后切换到相应用户下登陆安装pyenv:pyenv-install 是一个官方的安装脚本
$ sudo curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
在python用户的~/.bash_profile中追加:
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
$ source ~/.bash_profile
centos7.0及以上版本:
官网地址:
https://github.com/pyenv/pyenv
git安装:
$ yum install git -y
安装Python依赖包:
$ yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel libffi-devel -y
安装pyenv包:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
设置环境变量:
vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
#source ~/.bashrc
即是启动语句,重启系统执行这条语句
exec bash
在python用户的~/.bash_profile中追加:
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
$ source ~/.bash_profile
使用pyenv-installer这种方式安装成功的已经安装了virtualenv可以直接使用
使用:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
安装的不带virtualenv需要自己安装
自己安装方法:
我记得如何安装不成功用下面这种方式可以解决连接失败问题:
pyenv-install 是一个官方的安装脚本
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
如果curl时候出现"curl:(35)SSL connect error",是nss版本低的问题,更新他,可能需要配置一个教新的yum源
\
wangqd@wangqd:/home$ pyenv install 3.7.3 -v
如果你觉得服务器上面下载慢你可以直接输入:
https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz下载完毕后上次到服务器上直接在当前目录下执行:pyenv install 3.7.3 -v就行