1.使用pyenv进行python版本管理
 
1.1安装对应的依赖包,如果不安装后续操作可能会因为缺少某一个变量包而出现错误
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvmgit
 
1.2从GIT上克隆源码到本地的 ~/.pyenv 文件,后续操作基于该路径进行
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
 
1.3配置环境变量,官方提供的方法:
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
 
1.4常用命令
pyenv version  # 查看当前系统使用的python版本
pyenv versions  # 查看当前系统拥有的python版本(system代表当前系统的python版本号)
pyenv install 3.5.6  # 安装版本3.5.6,可以使用-v看详细输出
pyenv uninstall 3.5.6  # 卸载版本3.5.6
pyenv local 3.5.6  # local仅对当前目录及其子目录生效,告诉目录使用版本3.5.6
pyenv global 3.5.6 # 告诉全局环境使用3.5.6,为了不破坏系统默认环境, 不建议使用global命令
pyenv rehash  # 重建环境变量,每当你增删python版本或增删带可执行性的包(如pip)以后,都应该执行一次本命令
pyenv which  # 显示pyenv在运行给定命令时将调用的可执行文件的绝对路径
 
 
2.pyenv virtualenv 用法
 
pyenv通过插件,可以很好的和virtualenv一起工作,通过整合virtualenv,pyenv实现真正意义上的环境隔离,每个项目都相当于使用一个单独的解释器。
 
创建一个虚拟环境,虚拟环境目录位于~/.pyenv/versions/
pyenv virtualenv 3.5.6 env
pyenv versions
 
常用命令
pyenv activate env  # 切换到新的虚拟环境
pyenv deactive  # 退出虚拟环境
pyenv virtualenv-delete env  # 删除虚拟环境
 
 
3. pyenv官网下载速度慢
 
默认是在python官网进行下载,速度会很慢
 
 
可以选择使用国内镜像进行下载对应版本的tar.xz包, 并将包放在pyenv包的cache文件夹下
 
再次进行下载命令,会发现下载界面发生变化,直接更改为Installing,解决下载速度慢的问题
 
 
4.默认情况下运行python启动的是python2,我们把python3默认为python解释器版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 200
 
 

使用pyenv对python版本管理的更多相关文章

  1. pyenv管理python版本

    一.介绍 pyenv 是 Python 版本管理工具. pyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本,还能创建和管理 virtua ...

  2. Mac OS下使用pyenv管理Python版本

    问题的由来 在开发过程中,可能会遇到多个版本同时部署的情况. Mac OS自带的Python版本是2.x,自己开发需要Python3.x 系统自带的是2.6.x,开发环境是2.7.x 由于Mac机器系 ...

  3. 使用 pyenv 管理 Python 版本

    http://einverne.github.io/post/2017/04/pyenv.html   Posted on 04/22/2017 by Ein Verne | View revisio ...

  4. python版本管理工具pyenv和包管理工具pipenv

    一.pyenv版本管理工具 pyenv是一个python版本管理工具,可以实现轻松切换多个python版本 它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理v ...

  5. Ubuntu安装pyenv实现python多版本控制

    Ubuntu安装pyenv实现python多版本控制 git clone git://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROO ...

  6. Mac使用pyenv安装Python出现The Python zlib extension was not compiled. Missing the zlib错误

    Mac使用pyenv安装Python出现The Python zlib extension was not compiled. Missing the zlib错误 参考这里,详细如下: On Mac ...

  7. pyenv 让 python 版本完美切换

    前言 我觉得如果使用 python 开发的话,还是在 unix/linux 的环境下吧,shell 工具的效率比 windows 高得多,尽管 windows 下也有 cmder 这种神器,而且现在 ...

  8. pyenv 配置python虚拟环境

    安装pyenv环境 yum -y install git yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readli ...

  9. python版本管理(python环境隔离)

    这将是一篇比较短的文章. 我发文向来注重文章质量,营养不够的宁可不发,但是我相信很多人需要这篇文章. 之所以要去搞清楚这个问题,是我在把 vscode 的 inspector 设置为 pipenv 生 ...

随机推荐

  1. SpringCloud 入门知识篇

    SpringCloud 入门 springcloud 学习 7天学会springcloud 教程 https://www.cnblogs.com/skyblog/category/738524.htm ...

  2. 【HDU6667】Roundgod and Milk Tea【贪心】

    题目大意:给你ai,bi,限制ai不能流向bi,求最大流 题解:贪心,对于第i个班级,考虑前i-1个班级匹配完剩余多少a,b,将这些ab对第i个班级进行贪心匹配 匹配完若第i个班级还有剩余的ab,考虑 ...

  3. js的浅拷贝和深拷贝和应用场景

    为什么会用到浅拷贝和深拷贝 首先来看一下如下代码 let a = b = 2 a = 3 console.log(a) console.log(b) let c = d = [1,2,3] let e ...

  4. 2017年广东省ACM省赛(GDCPC-2017)总结

    今年第一次参加省赛(也是第一次参加这类比赛),既有点惊喜又有点紧张,前一晚没有怎么睡好,有点怕今年打铁,虽然说大一打铁也说的过去,可是谁也不想打铁. 一开始比赛的时候我一开始没有去看题,而是把我们队的 ...

  5. 从三十而立的迷茫,到30K

    很标题党的标题,但是希望分享一下自己的经历,一份有点儿不寻常的经历. 12年创业,到17年末,举步维艰,没有项目,公司只剩下两个人,负债,现实给我这个每见过什么市面,却自命不凡的人狠狠的一个耳光.加上 ...

  6. spring boot官方配置

    #BANNER banner.charset = UTF-8 #横幅文件编码.banner.location = classpath:banner.txt #横幅文件位置.banner.image.l ...

  7. C#接口的实现和继承实践

    1.基本概念 接口是一种契约规范,类似于抽象基类.包括方法,属性,索引器和事件作为成员,这些成员只是作为定义,并不在接口中具体实现. 接口创建时注意以下事项: 继承接口的任何非抽象类都必须实现接口的所 ...

  8. db4o发布7.2,出现.NET 3.5版本,支持LINQ

    db4o发布7.2,出现.NET 3.5版本,支持LINQ   Db4Object刚刚发布了db4o的7.2beta,除了以前支持如下的平台:.NET 1.1,.NET 2.0,Mono外,现在还支持 ...

  9. ssm项目dao层方法异常:org.apache.ibatis.binding.BindingException: Invalid bound statement

    在IntelliJ IDEA中用ssm框架搭建了一个demo项目,在执行到dao层方法时抛出这个异常: org.apache.ibatis.binding.BindingException: Inva ...

  10. nginx实现域名跳转

    server { listen 80; server_name www.dd.com www.tt.com; index index.html index.htm index.php; root /u ...