centos下python多版本管理(pyenv+python+virtualenv+ipython)

风流意气都作罢 提交于 2020-03-20 04:26:39

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

1.1 克隆pyenv
git clone
https://github.com/yyuu/pyenv.git ~/.pyenv

1.2 设置相关环境变量,使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
2.1 常用pyenv操作
pyenv install --list 查看可安装的python版本
pyenv install 3.5.0 安装python3.5.0
pyenv uninstall //卸载

2.2 更新pyenv
安装完之后,需要更新一下才能看到已经安装的版本
pyenv rehash
pyenv versions //查看已经安装好的版本,带*号的为当前使用的版本

2.3 选择python版本

pyenv global 3.5.0 //设置全局版本,即系统使用的将是此版本
pyenv local 3.5.0 //当前目录下的使用版本,有点类似virtualenv

补充:网络问题导致安装缓慢或无法进行
如anaconda之类大容量的版本,由于网络的问题,总是连接中断,安装失败。此时可以先从官方网站下载安装包,然后放在~/.pyenv/cache文件夹中,然后在pyenv install 此版本,pyenv会自动先从此文件夹中搜索


3 python virtualenv创建纯净虚拟环境
   虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。
3.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命令。

3.2 安装virtualenv
git clone
https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
这个插件将安装在主文件夹下的.pyenv文件夹中。

3.3 创建一个2.7.13的虚拟环境
pyenv virtualenv 2.7.13 py27
source ~/.bash_profile

这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的 ‘2.7.13’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。

3.4 切换和使用新的python虚拟环境:
pyenv activate env271
这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
如果要切换回系统环境, 运行这个命令即可
pyenv deactivate
那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:
rm -rf ~/.pyenv/versions/env271/
或者卸载:
pyenv uninstall env271

 

4 安装ipython

centos7 已经带有pip,不用安装pip(在centos6 叫python-pip在centos7 叫pip
yum install python-pip
进入python环境后, 安装ipython,若是python2+,需要指定ipython版本为ipython==1.2.1
pip install ipython

 

ps: 各个步骤的安装脚本,这里的脚本安装了python2.7.13和3.6.0,python安装方式为先下载,在安装

1 环境准备 安装相关软件和pyenv

#!/usr/bin/env bash
# 安装相关软件和pyenv 
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs
# 克隆pyenv
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
# 导出环境变量,使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

#!/usr/bin/env bash

python2=2.7.13
python2_url="https://www.python.org/ftp/python/$python2/Python-${python2}.tar.xz"
python3=3.6.0
python3_url="https://www.python.org/ftp/python/$python3/Python-${python3}.tar.xz"

test -e ~/.pyenv/cache || mkdir -p ~/.pyenv/cache
cd ~/.pyenv/cache

if ! ls Python-${python2}.tar.xz &> /dev/null; then
    wget $python2_url
fi
pyenv install $python2 -v

if ! ls Python-${python3}.tar.xz &> /dev/null; then
    wget $python3_url
fi
pyenv install $python3 -v

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

3 python virtualenv创建纯净虚拟环境

 

#!/usr/bin/env bash

python2=2.7.13
python3=3.6.0
pyenv virtualenv $python2 py27
pyenv virtualenv $python3 py35
echo 'alias py27="pyenv activate py27"' >> ~/.bash_profile
echo 'alias py35="pyenv activate py35"' >> ~/.bash_profile
echo 'alias pyd="pyenv deactivate"' >> ~/.bash_profile
source ~/.bash_profile

 

4 安装ipython

#!/usr/bin/env bash
# 使用py27进入python环境后,进行以下操作。
# py27
yum install python-pip
pip install ipython==1.2.1
#!/usr/bin/env bash
# 使用py35进入python环境后,进行以下操作。
# py35
yum install python-pip
pip install ipython
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!