本文重点:

  1. 了解pyenv
  2. pyenv下载及安装
  3. pyenv 使用
  4. 安装ipython

一、了解pyenv

经常遇到这样的情况:

  • 系统自带的 Python 是 2.6,自己需要 Python 2.7 中的某些特性;
  • 系统自带的 Python 是 2.x,自己需要 Python 3.x;

此时需要在系统中安装多个 Python,但又不能影响系统自带的 Python,即需要实现 Python 的多版本共存。pyenv 就是这样一个 Python 版本管理器。

二、pyenv下载及安装

  1. 首先解决pyenv依赖:

    pyenv由bash开发,除了git外不依赖任何组件包。

yum -y install git

  1. pyenv项目地址:

    https://github.com/yyuu/pyenv

  2. 安装pyenv:

因为我需要将pyenv安装至/opt/pyenv,所以需要提前定义PYENV_ROOT环境变量

[root@wls1 temp]# curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 2099 100 2099 0 0 792 0 0:00:02 0:00:02 --:--:-- 792

Cloning into '/opt/pyenv'...

remote: Counting objects: 582, done.

remote: Compressing objects: 100% (401/401), done.

remote: Total 582 (delta 273), reused 266 (delta 91), pack-reused 0

Receiving objects: 100% (582/582), 255.56 KiB | 61.00 KiB/s, done.

Resolving deltas: 100% (273/273), done.

Cloning into '/opt/pyenv/plugins/pyenv-doctor'...

remote: Counting objects: 11, done.

remote: Compressing objects: 100% (8/8), done.

remote: Total 11 (delta 1), reused 6 (delta 1), pack-reused 0

Unpacking objects: 100% (11/11), done.

Cloning into '/opt/pyenv/plugins/pyenv-installer'...

remote: Counting objects: 17, done.

remote: Compressing objects: 100% (15/15), done.

remote: Total 17 (delta 2), reused 10 (delta 0), pack-reused 0

Unpacking objects: 100% (17/17), done.

Cloning into '/opt/pyenv/plugins/pyenv-update'...

remote: Counting objects: 7, done.

remote: Compressing objects: 100% (5/5), done.

remote: Total 7 (delta 1), reused 3 (delta 0), pack-reused 0

Unpacking objects: 100% (7/7), done.

Cloning into '/opt/pyenv/plugins/pyenv-virtualenv'...

remote: Counting objects: 54, done.

remote: Compressing objects: 100% (48/48), done.

remote: Total 54 (delta 10), reused 16 (delta 0), pack-reused 0

Unpacking objects: 100% (54/54), done.

Cloning into '/opt/pyenv/plugins/pyenv-which-ext'...

remote: Counting objects: 10, done.

remote: Compressing objects: 100% (6/6), done.

remote: Total 10 (delta 1), reused 5 (delta 0), pack-reused 0

Unpacking objects: 100% (10/10), done.

WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by adding

# the following to ~/.bash_profile:

export PATH="/opt/pyenv/bin:$PATH"

eval "$(pyenv init -)"

eval "$(pyenv virtualenv-init -)"

安装完成后需要添加环境变量:

echo -e 'export PYENV_ROOT=/opt/pyenv\nexport PATH=/opt/pyenv/bin:$PATH\neval "$(pyenv init -)"\neval "$(pyenv virtualenv-init -)"' > /etc/profile.d/pyenv.sh && . /etc/profile.d/pyenv.sh

三、pyenv使用

  1. pyenv的使用参数

pyenv <command> [<args>]

commands;列出所有可用命令

local:切换版本

install:安装一个新的版本

uninstall:卸载一个版本

version:查看当前的版本

versions:列出所有可用的python版本

pyenv update:更新pyenv

global:改变系统环境变量,非常危险,不建议执行

virtualenv:创建虚拟环境

pyenv virtualenv 3.5.2 magedu

会在3.5.2/envs/magedu复制一份python代码

然后创建一个软连接到pyenv/versions/中

pyenv install 3.5.2 # 安装3.5.2版本的Python

pyenv install --list # 列出所有可以安装的版本

其他子命令:

update:更新pyenv版本

  1. pyenv的加速方案:
    1. 先下载到pyenv/cache目录下,如果是.tgz,需要重命名为tar.gz。(tar.xz也OK),国内有python搜狐镜像站:http://mirrors.sohu.com/python/
    2. /opt/pyenv/plugins/python-build/share/python-build 存放所有可以安装python版本的下载路径等, 修改其对应的网络路径就OK。
  2. 解决python依赖:

yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel

  1. pyenv建议使用方法:

pyenv在每个项目下面创建一个虚拟环境,就不会有版本冲突

python装什么插件的时候,一般可以创建一个虚拟环境,然后安装

不建议直接在家目录下使用pyenv local切换环境。因为每次终端登录的时候会直接调用该pyenv

  1. 个人使用示例:
  • 先去官网下载Python-3.6.4.tar.xz源码包,复制好下载路径,放在迅雷上下载,非常快,下载完后和官网对比一下sha值。
  • 上传至/opt/pyenv/cache/Python-3.6.4.tar.xz
  • 先安装好python依赖包,否则会报错。
  • 使用pyenv安装python 3.6.4:pyenv install 3.6.4 -v
  • 将3.6.4创建一个虚拟环境,保证出问题时3.6.4这个python版本不被污染:pyenv virtualenv 3.6.4 pytest
  • 创建一个目录:mkdir -pv /root/pytest
  • 进入该目录,使用pyenv切换python版本:cd /root/pytest; pyenv local pytest
  • 输入python后进入发现就是3.6.4版本的了。
  • 安装ipython。

四、安装ipython

  1. 先定义pip阿里云镜像源

在用户家目录新建.pip/pip.conf输入:

[global]

timeout = 6000

index-url = http://mirrors.aliyun.com/pypi/simple/

trusted-host = mirrors.aliyun.com # 添加信任阿里云

  1. 安装ipython,在pytest目录中执行,只有pytest这个虚拟环境安装了ipython,其他环境都没有安装,所以就不会产生污染了。

在pytest目录中执行:pip install ipython

python的学习环境安装完成。本文完

01-01_环境准备_pyenv的更多相关文章

  1. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  2. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari

    一.集群软硬件环境准备: 操作系统:  centos 7 x86_64.1804 Ambari版本:2.7.0 HDP版本:3.0.0 HAWQ版本:2.3.05台PC作为工作站: ep-bd01 e ...

  3. [Spring]01_环境配置

    )在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring.

  4. MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

  5. HTML5学习总结-01 开发环境和历史

    1 搭建HTML5开发环境 1 安装一款支持HTML5的浏览器 FireFox, Chrome 2 开发工具 SublineText, Eclipse, HBuilder, WebStorm 注:使用 ...

  6. Django学习日记01_环境搭建

    1. 使用Vagrant 创建ubuntu虚拟机: 首先安装vagrant,网上有比较多的方法,如:http://www.th7.cn/system/mac/201405/55421.shtml 我使 ...

  7. 01.jupyter环境安装

    jupyter notebook环境安装 一.什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文 ...

  8. golang(01) linux环境搭建和编码

    1 在自己的工作目录下建立一个goproject文件夹 /home/secondtonone/goproject 2 在文件夹下建立如下三个文件 bin pkg srcbin 保存执行go insta ...

  9. [转]SAPUI5 (01) - OpenUI5环境搭建

    本文转自:http://blog.csdn.net/stone0823/article/details/53750094 版权声明:本文为博主原创文章,转载请注明出处:http://blog.csdn ...

随机推荐

  1. 了解数组中的队列方法,DOM中节点的一些操作

    队列的概念 栈是一种后进先出的结构,而队列是一种先进先出的结构.如银行排队,排在前面的人先办业务然后离开,后来的人站在最后.可以用队列的push()方法插入元素到队列的末尾,可以用shift()方法删 ...

  2. Handwritten Parsers & Lexers in Go (Gopher Academy Blog)

    Handwritten Parsers & Lexers in Go (原文地址  https://blog.gopheracademy.com/advent-2014/parsers-lex ...

  3. Linux(以CentOS6.5示例)下安装Oracle官方最新版JDK(JDK1.8)

    本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 我们很多组件都需要使用Oracle最新版的JDK,所以需要在我们的 ...

  4. 项目实战10.1—企业级自动化运维工具应用实战-ansible

    实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测 ...

  5. OLAP与数据仓库------《Designing Data-Intensive Applications》读书笔记4

    由于第三章的内容比较多,这里我们拆分成两篇读书笔记来记录.上一章我们聊了聊如何数据库是如何实现存储和检索的,今天这篇我们继续来看看OLTP与OLAP存储引擎的区别与联系. 1.OLTP与OLAP 联机 ...

  6. 《深入理解Java虚拟机:JVM高级属性与最佳实践》读书笔记(更新中)

    第一章:走进Java 概述 Java技术体系 Java发展史 Java虚拟机发展史 1996年 JDK1.0,出现Sun Classic VM HotSpot VM, 它是 Sun JDK 和 Ope ...

  7. Atlas 安装报错 package Atlas-2.2.1-1.x86_64 is intended for a x86_64 architecture

    安装atlas 报错: package Atlas-2.2.1-1.x86_64 is intended for a x86_64 architecture 百度了好久没找到相关信息,最后看见官网文档 ...

  8. 【转】NO.1、 appium之ios环境搭建

    首先感谢iOS开发同学无私的帮助.   一.环境及版本: xcode:7.1,我是百度下的dmg文件,直接装的,这个太大了,请自行百度,或升级自己的xcode,一般都不需要这一步. appium:1. ...

  9. python并发之多线程

    一开启线程的两种方式 from threading import Thread import time def haha(name): time.sleep(2) print('%s 你大爷..... ...

  10. 解决linux 乌班图下使用eclipse创建类和其他各种操作进程卡死的问题的一种可能方法

    [转载]http://blog.csdn.net/u010652906/article/details/51626257Eclipse设置面板菜单可以点,左边面板不出现,创建类.创建包都会卡死的问题, ...