一、简介

1、在操作系统mac10.10(yosemite)中搭建Python多版本虚拟环境;

2、多版本虚拟环境包含三个含义:

  • 在一个操作系统中安装多个版本的Python,不同版本可以随意切换,例如Python2.5、Python2.7、Python3.0、Python3.6共存于mac10.10;
  • 工作中,常常需要用到Python的不同模块,如paramiko、telnetlib、smtp等,会将这些模块安装到C:\Program Files\Python35\Lib目录下,这些模块安装和运行的环境被称为Python环境。对于同一个Python版本,如Python2.7,可以搭建多个Python环境,不同环境之间的Python模块没有影响。
  • 不同Python版本、不同python环境可以同时运行。例如,同一时刻,不同shell运行不同Python版本或环境,不同应用程序运行不同Python版本或者环境。

二、用到的工具

pyenv:用于实现不同Python版本共存。

pyenv-virtualenv:用于实现不同Python环境共存。

三、搭建过程

安装pyenv后,重启shell。

  1. $ brew update
  2. $ brew install pyenv
  3. $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

使用pyenv

  1. $ pyenv install 2.7.
  2. $ pyenv install 3.6.

注意:直接使用上面命令安装,可能会非常慢或者安装失败,这时可以pyenv安装本地的Python安装包。参考这篇文章。

安装pyenv-virtualenv

说明:virtualenv是一个独立于pyenv的项目,pyenv的作者将virtualenv做成了一个pyenv的插件,利于我们使用。

  1. $ brew install pyenv-virtualenv
  2. $ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
  3. $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

使用pyenv-virtualenv

  1. $ pyenv virtualenv 2.7. env_2.7.13
  2. $ pyenv virtualenv 3.6. env_3.6.0
  3. $ pyenv virtualenv 3.6. env_3..0_2
  4. $ pyenv virtualenv 2.7. env_2..13_2

四、常用命令

  1. pyenv local 2.7.6  在当前目录生成.python-version文件,该目录的应用程序都将使用指定的python版本运行。
  1. pyenv global 2.7.6  在全局范围设置Python版本。
  1. pyenv shell pypy-2.2.1 shell设置Python版本。用于不同shell不同Python版本。
  1. pyenv install --list  列出所有可以用于安装的Python版本
  1. pyenv install 2.7.6  安装某个python版本
  1. pyenv uninstall    卸载某个Python版本
  1. pyenv rehash      用于更新shims文件,当安装了新的Python版本后需要运行。
  1. pyenv version     显示当前使用的Python版本
  1. pyenv versions     显示已经安装的Python版本
  1. pyenv which python3.3 显示Python版本的安装路径
  1. pyenv whence 2to3   显示已经安装的某个范围的Python版本
    详细命令介绍见这里 https://github.com/yyuu/pyenv/blob/master/COMMANDS.md
  1. pyenv virtualenv 2.7.13 env_2.7.13_2    为Python版本2.7.10安装一个新的Python环境,名字为my-virtual-env-2.7.10
  2.  
  3. pyenv activate env_2.7.13_2          激活一个Python环境
  1. pyenv virtualenvs                展示全部的Python环境
    详细命令介绍见这里 https://github.com/yyuu/pyenv-virtualenv
  1.  
  1.  

mac10.10 打造Python多版本虚拟环境的更多相关文章

  1. Python linux 上的管理工具 pyenv 安装, pip 使用, python项目(版本分割, 项目分割, 虚拟环境创建)

    01: 假设你有一个最小环境安装的 centos-6.x 的linux操作系统 02: 安装 git => yum -y install git 03: 安装依赖 => yum -y in ...

  2. Ubuntu18.0 解决python虚拟环境中不同用户下或者python多版本环境中指定虚拟环境的使用问题

    一. 不同用户下配置virtualenvwrapper的问题 问题描述: 安装virtualnev和virtualnevwrapper之后,在.bashrc进行virtualenvwrapper的相关 ...

  3. vim下打造python编辑器

    在前面文章中介绍的关于vim基础插件之上加上一款专门为读写python程序的插件-Python-mode. 顾名思义,就是让vim在python模式下运行.这里介绍这款插件的功能以及如何使用. 本文主 ...

  4. 八月暑期福利,10本Python热门书籍免费送!

    八月第一周,网易云社区联合博文视点为大家带来Python专场送书福利,10本关于Python的书籍内容涉及Python入门.绝技.开发.数据分析.深度学习.量化投资等.以下为书籍简介,送书福利请见文末 ...

  5. 管理 Python 多版本,pyenv 用起来

    介绍 学习使用pyenv在本地安装多个 Python 版本,这样既不影响工作,也不影响生活~ pyenv 可让你轻松地在多个 Python 版本之间切换.它简单.不引人注目,并且遵循 UNIX 的单一 ...

  6. Python - 多版本共存与虚拟独立环境

    背景 利用pip直接在本地python环境安装包,基本上都安装到了site_package目录下面. 随着安装的包越来越多,依赖关系也就越来越复杂.不同的项目之间,依赖关系也会出现版本冲突的问题. 此 ...

  7. Linux系统之路——python多版本共存问题(ps:自行切换python版本,pip安装遇到的一些问题)

    经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...

  8. Python多版本共存管理工具之pyenv

    目录 Table of Contents 1. 安装pyenv 2. 安装Python 3.0 使用python 参考 Table of Contents 经常遇到这样的情况: 系统自带的Python ...

  9. Python 多版本共存之pyenv

    经常遇到这样的情况: 系统自带的 Python 是 2.6,自己需要 Python 2.7 中的某些特性: 系统自带的 Python 是 2.x,自己需要 Python 3.x: 此时需要在系统中安装 ...

随机推荐

  1. 正确使用‘trap指令’实现Docker优雅退出

    一般应用(比如mariadb)都会有一个退出命令,用户使用类似systemctl stop ****.service方法,停止其服务时,systemd会调用其配置文件注册的退出命令,该命令执行清理资源 ...

  2. highcharts中放aqi及6要素,再加上气象5要素的图

    var chart = Highcharts.chart('container', { chart: { zoomType: 'xy' }, title: { text: '东京月平均天气数据' }, ...

  3. echarts判断点击参数类型,series为有效,markPoint 无效

    https://www.w3cschool.cn/echarts_tutorial/echarts_tutorial-7o3u28yh.html 可以设置如果点击的是markPoint,直接返回

  4. soursTree新建过程.md

    网上博客 https://www.cnblogs.com/tian-xie/p/6264104.html 主要的推送流程 完成所有项目的远程推送工作 点击git工作流选择第二个建立新的版本; 输入发布 ...

  5. Data.FireDACJSONReflect单元不支持跨平台

    Data.FireDACJSONReflect不支持跨平台 Data.FireDACJSONReflect里面:IFDJSONDeltasApplyUpdates,TFDJSONDeltas,TFDJ ...

  6. unigui控件的FASTSCRIPT封装

    unigui控件的FASTSCRIPT封装 unit fs_uniControl; interface{$i fs.inc}uses fs_iinterpreter, fs_itools, fs_ie ...

  7. Attempt to invoke virtual method 'void android.app.ActionBar.setTitle的解决方法

    在安卓4.4.2的关于蓝牙开发的一个sample BluetoothChat中,调试时,老是出错:Attempt to invoke virtual method 'void android.app. ...

  8. cocos2d-x3.0 PageView

    .h加入例如以下代码: void pageViewEvent(Ref *pSender, PageViewEventType type); .m layout = Layout::create(); ...

  9. Dance In Heap(二):一些堆利用的方法(上)

    0×00 前面的话 在前面的文章里我们稍微有点啰嗦的讲解了堆中的一些细节,包括malloc.free的详细过程,以及一些检查保护机制,那在这篇文章里,我们就开始结合这些机制,以64位为例来看一看如何对 ...

  10. 计算广告、推荐系统论文以及DSP综述

    http://www.huxmarket.com/detail/2966 DSP场景假定前提: 以CTR预估为例,向广告主以CPC(OCPC)方式收费,向ADX以CPM方式付费.投放计划受预算限制,在 ...