pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等
第一部分 安装介绍
1 环境准备 安装相关软件和pyenv
1.1 安装相关软件
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs git gcc
注意:如果编译安装3.7及以上版本,需要安装libffi-devel 和openssl1.0.2及以上版本。
目前CentOS6的openssl版本是10.1,所以安装python3.7.0会有问题。而CentOS7则没有此问题。
1.2 克隆pyenv
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
1.3 设置相关环境变量,使pyenv生效
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL -l
2 python virtualenv创建纯净虚拟环境
虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。
2.1 安装插件pyenv-virtualenv
参考文章:http://www.tiny-coder.com/home-article-51.html
pyenv-virtualenv插件安装:项目主页:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。
2.2 安装virtualenv
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
这个插件将安装在主文件夹下的.pyenv文件夹中。
2.3 创建一个2.7.13的虚拟环境
pyenv virtualenv 2.7.13 py27
source ~/.bash_profile
这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的 ‘2.7.13’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。
2.4 切换和使用新的python虚拟环境:
pyenv activate env271
这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
如果要切换回系统环境, 运行这个命令即可
pyenv deactivate
那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:
rm -rf ~/.pyenv/versions/env271/
或者卸载:
pyenv uninstall env271
3 安装python
3.1 常用pyenv操作
pyenv install --list 查看可安装的python版本
pyenv install 3.5.0 安装python3.5.0
pyenv uninstall //卸载
3.2 更新pyenv
安装完之后,需要更新一下才能看到已经安装的版本
pyenv rehash
pyenv versions //查看已经安装好的版本,带*号的为当前使用的版本
3.3 选择python版本
pyenv global 3.5.0 //设置全局版本,即系统使用的将是此版本
pyenv local 3.5.0 //当前目录下的使用版本,有点类似virtualenv
补充:网络问题导致安装缓慢或无法进行
如anaconda之类大容量的版本,由于网络的问题,总是连接中断,安装失败。此时可以先从官方网站下载安装包,然后放在~/.pyenv/cache文件夹中,然后在pyenv install 此版本,pyenv会自动先从此文件夹中搜索
4 安装ipython
centos7 已经带有pip,不用安装pip(在centos6 叫python-pip,在centos7 叫pip)
yum insta