一、简介

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. hdu 2462(欧拉定理+高精度快速幂模)

    The Luckiest number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  2. poj 3204(最小割--关键割边)

    Ikki's Story I - Road Reconstruction Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 7 ...

  3. iOS-开发者账号失效后是否还可以打包

    参考链接:https://www.jianshu.com/p/601f596e8550

  4. 美图秀秀web开发文档

    Xiuxiu 组件 import React, { Component } from 'react'; class XiuXiu extends Component { componentDidMou ...

  5. React native 横滑效果

    import { Component } from 'react'; import { StyleSheet, View, Text, TouchableOpacity, ScrollView, Di ...

  6. http错误种类及原因

    http://blog.csdn.net/dxykevin/article/details/50950878 [摘要]HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应 ...

  7. AtCoder - 3913 XOR Tree

    Problem Statement You are given a tree with N vertices. The vertices are numbered 0 through N−1, and ...

  8. 跟开涛学SpringMVC(4.1):Controller接口控制器详解(1)

    http://www.importnew.com/19397.html http://blog.csdn.net/u014607184/article/details/52074530 https:/ ...

  9. [NSURL URLWithString:] 返回nil

    具体问题原因是url中输入的有中文,那么这个就看作非法的字符无法识别.这种的必须使用post方式来发送消息.具体为: tmp = mainurl;            [parameters app ...

  10. 创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)

    分类: Oracle(9) 版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk 目录(?)[+] 目录 目录 软件环境 前言 安装Oracle监听 ...