当前位置:Gxl网 > 互联网 > 安装pyenv

安装pyenv

时间:2021-07-01 10:21:17 帮助过:3人阅读

什么是pyenv

在开发环境中,我们往往需要开发多个项目,每个项目使用的python版本并不相同。而且我们Linux环境上自带的python版本一般不修改,因为这个python版本要为Linux上的很多组件提供python环境.一旦修改我们系统自带的版本,Linux上依赖此版本的组件会运行出错。所以我们需要一个python版本控制工具,而pyenv就是这个一个版本控制工具。

安装pyenv

github的方式安装pyenv

~]# curl -L | bash
需要注意的是上面命令能够执行的前提是git已经安装了。

pyenv安装的路径由变量PYENV_HOME指定,默认情况下PYTHON_HOME=${HOSE}/.pyenv,即家目录下的隐藏目录pyenv

配置环境变量

~]# vim .bash_profile
export PATH="/home/lirou/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
重读配置文件
~]# . .bash_profile
可以看到pyenv具有的命令
技术分享图片

pyenv基本管理

  • 更新pyenv
    ~]# pyenv update
  • 卸载pyenv
    ~]# pyenv uninstall

pyenv基本功能

安装python解释器

查看可以安装的python版本
~]# pyenv install --list
安装指定python版本
~]# pyenv install 3.5.2
所有已经安装的版本都会放在pyenv安装目录下的versions目录
技术分享图片
查看已经安装的python版本
~]# pyenv versions

管理python版本

设置全局python版本
~]# pyenv global PYTHON_VERSION
会修改全局的python版本,非常不建议使用此命令
此PYTHON_VERSION版本要已经通过pyenv install安装了
设置当前目录及当前子目录的python版本
~]# pyenv local PYTHON_VERSION
此PYTHON_VERSION版本要已经通过pyenv install安装了
查看当前版本号
~]# pyenv version

管理python虚拟环境

为什么我们已经有了python的版本控制,还需要一个python的虚拟环境呢?那是因为python的项目管理是基于site,它不同于java开发的程序是基于project,一个项目有自己的依赖关系。python基于site的项目管理方式,会导致所有的项目共用模板。但事实是我们不同的相遇使用的模板版本是不同,比如一个项目使用的flask的版本是1.2,但另一个项目使用的flask版本是1.4。解决办法是为每一个项目创建一个虚拟环境,每个项目在自己的虚拟环境中安装各自的版本。
基于3.5.2python版本创建一个虚拟环境
安装依赖包:~]# yum -y install patch gcc make openssl-devel
~]# pyenv virtualenv 3.5.2 test_version
这条命令表明以3.5.2的版本创建一个虚拟版本,虚拟版本的名称为test_version
~]# pyenv versions
技术分享图片
可以看到test_version这个版本,我们切换到此版本的方式和切换3.5.2一样。
切换到创建的虚拟版本
~]# pyenv local test_version
技术分享图片

pyenv是如何管理版本的

我们通过pyenv version查看当前目录的版本号,实际查看的当前目录下.python_version这个文件
技术分享图片
pyenv如何管理不同环境的包
技术分享图片

错误

在pyenv install 3.5.2是出现了错误,因为这个命令实际要编译python,所以依赖到一些组件,而主机是最小化安装,这些组件没有安装。所以依赖的安装包为:
~]# yum -y install patch gcc make openssl-devel