一、简介

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. tableView刷新中的问题

    在开始之前先上一张效果图 相信大家都看到了“店铺优惠”这一栏,在这里假设这一栏就是单独的一个cell,当无店铺优惠的时候不可点击在有店铺优惠的时候会弹出优惠列表,选中并返回时会刷新数据,所以弹出视图采 ...

  2. HDU 4912 Paths on the tree(LCA+贪心)

    题目链接 Paths on the tree 来源  2014 多校联合训练第5场 Problem B 题意就是给出m条树上的路径,让你求出可以同时选择的互不相交的路径最大数目. 我们先求出每一条路径 ...

  3. SRM1154--Topcoder初体验

    SRM 711 DIV2 <br > 在frank_c1的帮助下,辣鸡Xiejiadong也开始做Topcoder辣...... <br > 这算是一次Topcoder的初体验 ...

  4. LightOj 1215 Finding LCM

    Discription LCM is an abbreviation used for Least Common Multiple in Mathematics. We say LCM (a, b, ...

  5. [simple-orm-mybaits]基于Mybatis的ORM封装介绍

    目录 前言 ORM框架现状 Mybatis优缺点 simple-orm-mybatis设计思路介绍 simple-orm-mybatis使用说明 simple-orm-mybatis实际使用 推荐最佳 ...

  6. android studio C/C++ jni 编写以及调试方法

    原文路径: http://blog.sina.com.cn/s/blog_ad64b8200102vnxl.html 目录 开发环境 2 编写hello_jni程序 2 运行结果 10 调试程序 10 ...

  7. Linux 端口防火墙

    举例: 开放10000端口的解决步骤如下: 1.修改/etc/sysconfig/iptables文件,增加如下一行: -A RH-Firewall-1-INPUT -m state --state ...

  8. java高级编程-使用反射强制给private字段赋值

    转自:http://blog.csdn.net/yaerfeng/article/details/7103397 今天项目中遇到了一个问题,要调用一个类,并获取这个类的属性进行赋值然后将这个类传递到方 ...

  9. NFC模组,开发NFC功能 仅仅要几条指令的事情

    特点:实现NFC透明传输.内置NFC协议栈,支持UART串口直接读写,用于门禁能够同一时候兼容手机和卡片开门,还能实现动态密钥,读到的NFC数据自己主动串口输出,会串口就能开发NFC,不须要研究LLC ...

  10. svn hooks 实现自动更新

    搞来搞去,原来是hooks 下面的脚本名称必须是post-commit才可以, 写成fly-commit一直不行.晕死~~~ https://serverfault.com/questions/144 ...