开发环境 pyenv

pyeny githup地址:https://github.com/pyenv/pyenv/

安装时使用pyeny提供安装工具进行安装

githup 地址:https://github.com/pyenv/pyenv-installer

安装步骤

1 安装git   

  yum -y install git

2 安装python编译依赖

  yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel 

3  使用curl工具进行下载安装插件 

        curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

  如果在curl过程中出现curl(35)SSL connect error,是nss版本过低的原因,可能需要配置一个较新包的yum源,升级nss

  

4 下载完将提示的三句加到指定的位置   将一下三句

export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

加到~./bash_profile中, 之后souce ~/.bash_profile,重新加载配置文件

       

可以看到,eval “$(pyenv init -)”初始化了pyenv,eval “$(pyenv  virtualenv-init -)初始化了virtualenv插件 

 5 输入pvenv, 出现以下界面,则安装成功

   

  

6常用命令

pyenv install -l 列出所有可用版本

pyenv version 当前正在使用的python版本

pyenv version 已经安装的所有python版本

pyenv install (版本号) -v, 安装指定版本并且打印详细信息 e.g. pyenv install 3.6.2 -v ,但是以上方式往往由于网速的限制不能成功, 所以可以使用离线安装的方式进行安装, python 压缩包下载地址(https://www.python.org/ftp/python),下载之后再~/.pyenv目录下面新建cache目录, 将离线包拷贝到cache目录下面, 再一次用pyenv install 3.6.2 进行离线安装

pyenv global 版本(指定当前用户python版本) ,不建议使用, 如果是root用户会改变全局python版本

pyenv shell 设置当前回话python版本

pyenv local 版本与目录绑定, 可以设置指定的目录使用什么python版本,子目录会继承上一家目录使用的python版本

 7 虚拟环境

pyenv global 这个命令肯定是不建议使用的,太极端, 尤其是root用户,这个命令就当从来没有见到过,忘了它

pyenv shell 这条命令的很特殊, 只绑定当前会话,影响不大,但是用的场合感觉也不多,也就当从来没有见过它, 把它也忘了

python local 这条命令才是我们应该记下的。

pyenv virtualenv 是pyenv里面自带的一个插件 ,进入/~/.pyenv/plugins查看pyenv所有的插件,如下图

 使用pyenv virtualenv 命令新建一个虚拟环境,比如 pyenv virtualenv 3.7.0 liuww

 

 新建之后进入/~/.pyenv/versions查看, 如下图所示,新的虚拟环境已经被创建, 可以理解3.7.0的基础之上,新建一个3.7.0的分支liuwf, 我们以后所有的模块都会装在liuwf中,不会主版本3.7.0有任何影响,如果不用了, 删掉这个虚拟环境就行了,见下图,虚拟环境指向一个软连接。

 新建虚拟环境之后,做个测试,

1 新建一个test目录,进入test目录

2 使用pyenv local liuwf命令将此虚拟环境绑定到此目录, 注意是虚拟环境,不是主版本

3 使用pip install ipython 安装一个模块,安装成功之后,先进入/~/.pyenv/versions/3.7.0/lib/python3.7/site-packages地址查看ipython模块有没有安装到主版本的site-packages中,如下图所示,

 很明显没有

再看看有没有安装到虚拟环境中

通过以上图片, 可以看到,很明显是的,

pyenv管理版本,virtualenv管理环境, 还有个什么py东东是可以代替pip命令管理模块的, 不过对我我来说pip就够了, 暂时就不去费脑子了。

到这儿结束!!!!!!!!!!!!!!!!!!!!!





原文地址:https://www.cnblogs.com/sailfan/p/10591547.html