在centos中部署多个python版本

前端之家收集整理的这篇文章主要介绍了在centos中部署多个python版本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用pyenv+virtualenv方式部署python多版本

pyenv vs virtualenv

pyenv 是针对 python 版本的管理,通过修改环境变量的方式实现;

virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的切换。

pyenv 原理

pyenv 的美好之处在于,它并没有使用将不同的 $PATH 植入不同的 shell 这种高耦合的工作方式,而是简单地在 $PATH 的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而架空了后面的系统路径。

pyenv 安装使用 (安装使用网络yum源)

系统版本:

wKioL1kEn2fxEj99AANlsTi38Vs640.png

1)、安装依赖包:

yum install gcc -y

yum install python-devel -y

sudo yum install readline readline-devel readline-static -y

sudo yum install openssl openssl-devel openssl-static -y

sudo yum install sqlite-devel -y

sudo yum install bzip2-devel bzip2-libs -y

yum -y install python-setuptools

easy_install pip

2)、安装pyenv

pyenv需要git工具,需要先安装git工具

yum -y install git

pyenv 提供了自动安装的工具,执行命令安装即可:

curl -Lhttps://raw.githubusercontent.com/yyuu/pyenv-installer/

master/bin/pyenv-installer | bash

如果手动安装,可以执行此命令

pyenv 检出到你想安装的目录。建议路径为:$HOME/.pyenv

$ cd

$ git clone git://github.com/yyuu/pyenv.git .pyenv

添加环境变量:

vi ~/.bashrc ##专用于当前用户bash shellbash信息,登录时以及每次打开新的shell,该该文件被读取

export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then

export PATH="${PYENV_ROOT}/bin:${PATH}"

eval "$(pyenv init -)"

fi

# source /.bashrc //立即生效

至此,pyenv安装也就完成了,接下来看看都有哪些python版本可以安装

wKioL1kEn2ig1lbIAAEsKJOzlos292.png

wKiom1kEn27zJGS2AArnRjTr1ag818.png

以上这些,都是我们可以安装的版本,centos7默认安装的python版本为2.7.5

安装一个3.6.1的版本试试:

wKioL1kEn3HwQs8FAAUJny9Ptdg345.png

使用

创建虚拟环境

$ pyenv virtualenv3.6.1my-virtual-env-3.6.1(自定义名称)

wKiom1kEn3WRy31jAAdSppJEYsA128.png

若不指定python 版本,会汇报认使用当前环境python版本。

列出当前虚拟环境pyenv virtualenvs

wKioL1kEn3ixpCe2AASy81omFJE502.png

激活虚拟环境pyenv activatemy-virtual-env-3.6.1

wKiom1kEn3vz6kmTAAS9xBHVgkE732.png

激活虚拟环境后,需要执行此命令,更新一下数据库

#pyenv rehash

直接进入python查看:

wKiom1kEn4CTSZjhAAlOlaGfXsQ418.png

查看当前正在使用的版本:

wKiom1kEn4aCC9BTAAfHyNpVKSY587.png

注:其中的星号表示当前正在使用的版本

退出虚拟环境pyenv deactivate

wKioL1kEn4jTBFbeAAVp-Rw8rGs803.png

删除虚拟环境pyenv uninstall my-virtual-env

注意:

此上方法是通过网络下载此安装包,(网速不好的时候时间偏长),或着也可以通过本地安装方式:(安装python2.7.10

1)、首先下载python2.7.10的安装包,可以使用pyenv install 2.7.10 查看下载源:

如:

wKiom1kEn4vh-C_8AAWDwzEn648821.png

注:将上面的版本替换即可,下载成功后,将安装包上传至~/.pyenv/cache目录下:如

wKioL1kEn42hXIXJAARbmIez4cU490.png

后执行命令安装:

pyenv install 2.7.10

系统默认会从cache路径下执行本地安装2.7.10

wKiom1kEn5CgcrzcAARd3nRIY3k601.png

查看当前支持的版本:

wKioL1kEn5TwTUuaAAdHHRoigW8863.png

如果使用2.7.10版本,和上面提到的使用3.6.1的版本一样。

1)、创建虚拟环境

2)、激活虚拟环境

例:

wKiom1kEn52wNeJ1AA8ZnZq7Uhc617.png

创建完虚拟环境后,就可以随意切换python玩了;

命令注释:

例如:

pyenv global

设置全局的 Python 版本,通过将版本号写入~/.pyenv/version文件的方式。

$ pyenv global 3.4.0

<br />

pyenv local

设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找.python-version文件,直到根目录为止。若找不到,就用 global 版本。

$ pyenv local 2.7.3

<br />

pyenv shell

设置面向 shell Python 版本,通过设置当前 shell PYENV_VERSION环境变量的方式。这个版本的优先级比 local global 都要高。--unset参数可以用于取消当前 shell 设定的版本。

$ pyenv shell pypy-2.2.1$ pyenv shell --unset

根据当前的虚拟环境,我们可以执行以下命令随意切换:

切换到2.7.10:

wKiom1kEn6GhXVJLAAiUSXmYvUk835.png


切换到3.6.1版本

wKioL1kEn6WQqdz8AAhtQvYm4ds590.png

猜你在找的CentOS相关文章