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. 苹果手机上input的button按钮颜色显示问题

    在苹果手机上的input按钮自带效果,需要加上outline:0px; -webkit-appearance:none; 清除原有样式,同时苹果手机上的input按钮自带圆角需要按需要去掉 input ...

  2. for循环,foreach, map,reduce用法对比+for in,for of

    for不做赘述,相当简单: foreach方法: forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数. 注意: forEach() 对于空数组是不会执行回调函数的. array.f ...

  3. [CSP-S模拟测试]:光线追踪(线段树)

    题目背景 初中时的乔猫试着组建了$NEWorld$开发组,可是不久之后却因为合作上的问题(和乔猫工程水平差,代码混乱的问题),开发组成员之间常常产生矛盾,关系越来越不如以前......一年下来,受到长 ...

  4. 初始化Thread

    此处初始化的步骤和上文中介绍的一样,也是调用runClinit方法.首先设置初始化线程为CurrentThread,然后由于其父类Object此时的状态为CLASS_READY,因此就不需要初始化父类 ...

  5. 第十一周java学习总结

    目录 第十一周java学习总结 学习内容 学习总结 提交代码截图 代码推送 第十一周java学习总结 学习内容 第13章 Java网络编程 主要内容 URL类 InetAdress类 套接字 UDP数 ...

  6. mysql中主表与从表

    说个例子,比如用户表和银行帐号表,没有用户,那来的银行帐号,而且用户可以没有银行帐号,这里主要表现在银行帐号中这个表中必有用户表中的字段用户,这个主表则为用户表,而从表,则依附于主表. 主表在数据库中 ...

  7. Linux 下ThinkPHP项目出现_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Admin/0dfec61edd66f450033aa87c28a760f4.php

    在Linux中部署了ThinkPHP项目,访问时却出现了_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Admin/0dfec61edd66f450 ...

  8. python 中文路径

    ipath = 'D:/学习/语料库/SogouC.mini/Sample/C000007/10.txt' uipath = unicode(ipath , "utf8")

  9. day67—angularJS学习笔记控制器

    转行学开发,代码100天——2018-05-22 angularJS通过控制器来控制数据流的应用. ng-controller. 控制器中包含属性和函数,其参数引用通过 $scope来执行. 如下文的 ...

  10. prism Callback应用

    Mock<IEventAggregator> mockEventAggregator; Mock<MyEvent> mockEvent; mockEventAggregator ...