一、简介

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。

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

使用pyenv

$ pyenv install 2.7.
$ pyenv install 3.6.

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

安装pyenv-virtualenv

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

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

使用pyenv-virtualenv

$ pyenv virtualenv 2.7. env_2.7.13
$ pyenv virtualenv 3.6. env_3.6.0
$ pyenv virtualenv 3.6. env_3..0_2
$ pyenv virtualenv 2.7. env_2..13_2

四、常用命令

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

pyenv activate env_2.7.13_2          激活一个Python环境
pyenv virtualenvs                展示全部的Python环境
详细命令介绍见这里 https://github.com/yyuu/pyenv-virtualenv
 





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. AC日记——爱改名的小融3 codevs 3156

    3156 爱改名的小融 3  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description Wikioi上有个人叫小融,他喜 ...

  2. [原创][FPGA]有限状态机FSM学习笔记(一)

    1. 概述--何为有限状态机FSM? 有限状态机-Finite State Machine,简写为FSM,是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用.通常 ...

  3. 在eclipse使用map reduce编写word count程序生成jar包并在虚拟机运行的步骤

    ---恢复内容开始--- 1.首先准备一个需要统计的单词文件 word.txt,我们的单词是以空格分开的,统计时按照空格分隔即可 hello hadoop hello yarnhello zookee ...

  4. Java开发者使用C++写程序踩的坑

    笔者是一个很矛盾的人.平时用Java.但是一开始学习的时候学的是汇编语言,而且对C语言也很熟悉.为什么不学C++呢?是因为我可以完全用Java的编码规范去写C++.因此我不需要了解更多的诸如C++的命 ...

  5. 作为使用者对qq拼音输入法和搜狗输入法的评价

    我还记得在打字方面从一开始XP里面自带的中文输入法到QQ拼音输入法的过度,当时第一次使用qq拼音最大的感受就是这个输入法很智能,给人一种恍然一新的感觉,对于XP系统中自带的拼音输入法,QQ拼音最大的特 ...

  6. Generate C and C++ Header File

    1. 2. 其中bootclasspath 后面的参数就是自己android.jar具体位置 location: ${system_path:javah} working Directoy: ${pr ...

  7. [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!

    一.背景 最近的项目在用maven 进行install的时候,发现老师在控制台输出警告:[WARNING] Using platform encoding (UTF-8 actually) to co ...

  8. 渗透测试思路 | Linux下自动化搭建FakeAP,劫持用户在Portal认证下的所有流量

    如何在linux下搭建一个fakeap,使得portal认证下的用户无法发现连接你的假AP,并且能够正常上网.先说一下portal认证.无线WIFI认证方式主要有wpa2 和 open两种,而port ...

  9. LeetCode 205 Isomorphic Strings(同构的字符串)(string、vector、map)(*)

    翻译 给定两个字符串s和t,决定它们是否是同构的. 假设s中的元素被替换能够得到t,那么称这两个字符串是同构的. 在用一个字符串的元素替换还有一个字符串的元素的过程中.所有字符的顺序必须保留. 没有两 ...

  10. Java第三次实验要求

    实验三 类与对象(一) 一. 实验目的 1. 掌握类与对象的基本概念: 2. 掌握类的声明.创建与用法: 3. 掌握类的构造方法的定义与用法 4. 掌握类的成员变量.成员方法的定义与用法: 5. 理解 ...