pyenv的安装

12:02 星期二 eehello 发表于 Python 分类,标签: pyenv

0

本人安装环境:CentOS6.7


pyenv这个软件很不错,可以在一个系统中共存多套python版本,而且不影响系统自带老版本python的使用。

pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。

virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。


安装pyenv首先安装好python编译需要的rpm包环境:

网上查的需要提前安装的,可能很乱,管他呢,只管装上
$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
$sudo yum install -y libzip-devel zlib-devel patch


开始安装pyenv

$git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$exec $SHELL -l



使用

$pyenv commands   #列出可以使用的命令
$pyenv install -l   #列举所有的可用的python版本
$pyenv install 2.7.6  #安装某个版本的python
$pyenv versions    #列出所有已经安装的版本
$pyenv version    #当前正在使用的python版本
$pyenv which python3.4 #列出给定的python version可执行文件位置 
$pyenv whence 2to3 #列出pyenv安装的python version 
$pyenv rehash   #Run this command after you install a new version of Python,
                 or install a package that provides binaries. 
$pyenv uninstall  #卸载


刷新数据库:

$pyenv rehash


到现在系统中已经有两套不同版本的python,但是系统默认的还是自带的版本,现在进行切换:

$pyenv global 2.7.6

现在系统默认的python版本就是2.7.6了,yum可以正常使用,因为yum注释是 “/usr/bin/python”,我们自己写的python用的是 “/usr/bin/env python”,这个对应的就是系统环境中python 2.7.6


注:在安装 python2.7的时候由于默认下载站点有时候速度很慢,无法安装,这时候可以先从别的地方获取安装包和签名文件(asc),放到自己 的web服务器上,例如设地址是:http://pyenv.qiniudn.com/pythons/2.7.6/Python-2.7.6.tgz和http://pyenv.qiniudn.com/pythons/2.7.6/Python-2.7.6.tgz.asc

然后设置环境变量

$export PYTHON_BUILD_MIRROR_URL=”http://pyenv.qiniudn.com/pythons/”

这样就可以完成安装了。(国内镜像地址参考于:http://fduo.org/pyenv-mirrow/)


参考自:https://blog.csdn.net/lifan1314521/article/details/53390487

                https://blog.csdn.net/Vairsly/article/details/76385206

也可以下载到本机,并根据~./.pyenv/plugins/python-build/share/python-build目录下你要下载的那个版本文件后面的64位字符,把下载的文件更名位64位字符名(后缀什么的要删掉)。

在下载目录使用:

$python3 -m http.server

然后设置环境变量

$export PYTHON_BUILD_MIRROR_URL=”http://127.0.0.1:8000/”




整合virtualenv

我们可以用pyenv 安装多个python 版本, 比如安装了2.5, 2.6, 3.3 三个版本。 用户可以随意切换当前默认的python版本。 但这时候, 每个版本的环境仍是唯一的, 如果我们想在环境中安装一些库的话, 还是会导致这个版本的环境被修改。 这个时候, 如果我们用virtual env去建立虚拟环境, 就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序, 都不会影响已安装版本的系统环境。


pyenv设计了插件来整合了virtualenv甚至还人性化的推出了virtualenvwrapper


安装:

$git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv 
$exec "$SHELL"     #上面会把最近版本安装到~/.pyenv/plugins/pyenv-virtualenv目录

使用:

$pyenv virtualenv 2.7.6 venv-2.7.6 #创建一个使用2.7.6版本的解释器的名称为my-virtual-env-2.7.6虚拟环境,
                                    存放在~/.pyenv/versions 
$pyenv virtualenv 3.4.0 venv-django1.6-3.4.0 #同理创建一个3.4解释器的虚拟环境

#这里有个注意的地方这里的解释器必须是通过pyenv安装的解释器,如果不加参数,如下 
$pyenv virtualenv django1.6 #那么这里会使用系统的python version创建虚拟环境,
                               如果需要加参数,就必须是pyenv安装的版本 

#切换到新的虚拟环境,这个虚拟环境必须是pyenv创建存在的
$pyenv activate venv-2.7.6 

#退出虚拟环境
$pyenv deactivate

那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:
$rm -rf ~/.pyenv/versions/env271/



发表评论: