01-01_环境准备_pyenv
本文重点:
- 了解pyenv
- pyenv下载及安装
- pyenv 使用
- 安装ipython
一、了解pyenv
经常遇到这样的情况:
- 系统自带的 Python 是 2.6,自己需要 Python 2.7 中的某些特性;
- 系统自带的 Python 是 2.x,自己需要 Python 3.x;
此时需要在系统中安装多个 Python,但又不能影响系统自带的 Python,即需要实现 Python 的多版本共存。pyenv 就是这样一个 Python 版本管理器。
二、pyenv下载及安装
- 首先解决pyenv依赖:
pyenv由bash开发,除了git外不依赖任何组件包。
|
yum -y install git |
- pyenv项目地址:
- 安装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使用
- 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版本 |
- pyenv的加速方案:
- 先下载到pyenv/cache目录下,如果是.tgz,需要重命名为tar.gz。(tar.xz也OK),国内有python搜狐镜像站:http://mirrors.sohu.com/python/
- /opt/pyenv/plugins/python-build/share/python-build 存放所有可以安装python版本的下载路径等, 修改其对应的网络路径就OK。
- 解决python依赖:
|
yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel |
- pyenv建议使用方法:
|
pyenv在每个项目下面创建一个虚拟环境,就不会有版本冲突 python装什么插件的时候,一般可以创建一个虚拟环境,然后安装 不建议直接在家目录下使用pyenv local切换环境。因为每次终端登录的时候会直接调用该pyenv |
- 个人使用示例:
|
四、安装ipython
- 先定义pip阿里云镜像源
|
在用户家目录新建.pip/pip.conf输入: [global] timeout = 6000 index-url = http://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com # 添加信任阿里云 |
- 安装ipython,在pytest目录中执行,只有pytest这个虚拟环境安装了ipython,其他环境都没有安装,所以就不会产生污染了。
|
在pytest目录中执行:pip install ipython |
python的学习环境安装完成。本文完
01-01_环境准备_pyenv的更多相关文章
- php从入门到放弃系列-01.php环境的搭建
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...
- 基于【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 ...
- [Spring]01_环境配置
)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring.
- MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)
未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...
- HTML5学习总结-01 开发环境和历史
1 搭建HTML5开发环境 1 安装一款支持HTML5的浏览器 FireFox, Chrome 2 开发工具 SublineText, Eclipse, HBuilder, WebStorm 注:使用 ...
- Django学习日记01_环境搭建
1. 使用Vagrant 创建ubuntu虚拟机: 首先安装vagrant,网上有比较多的方法,如:http://www.th7.cn/system/mac/201405/55421.shtml 我使 ...
- 01.jupyter环境安装
jupyter notebook环境安装 一.什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文 ...
- golang(01) linux环境搭建和编码
1 在自己的工作目录下建立一个goproject文件夹 /home/secondtonone/goproject 2 在文件夹下建立如下三个文件 bin pkg srcbin 保存执行go insta ...
- [转]SAPUI5 (01) - OpenUI5环境搭建
本文转自:http://blog.csdn.net/stone0823/article/details/53750094 版权声明:本文为博主原创文章,转载请注明出处:http://blog.csdn ...
随机推荐
- jQueryUI Autocomplete插件使用入门教程(最新版)---------转载
前言: jQuery,无需多作介绍,相信各位读者都应该接触或使用过了.jQuery UI,简而言之,它是一个基于jQuery的前端UI框架.我们可以使用jQuery + jQuery UI非常简单方便 ...
- css清除浮动主要方法
1.浮动元素尾部添加空div标签,设置css为clear:both: 缺点:如果页面浮动布局多,则需要添加较多div: 2.父级元素定义伪类:after和zoom:1: .father:after{d ...
- 基于POI和DOM4将Excel(2007)文档写进Xml文件
刚进公司的training, 下面是要求: Requirements Write a java program to read system.xlsx Use POI API to parse all ...
- 视觉SLAM的方案总结
MoNoSLAM:https://github.com/hanmekim/SceneLib2 以扩展卡尔曼滤波为后端,追踪前端非常稀疏的特征点,以相机的当前状态和所有路标点为状态量,更新其均值和协方差 ...
- 我搞zabbix的那两天(2)
摘要:前一篇(我搞zabbix的那两天(1))我介绍了Zabbix的安装部署以及遇到的问题,这一篇将介绍zabbix 使用及短信等告警实现!!! Zabbix主界面及汉化方法介绍 1.1 初始化主界面 ...
- thinkinginjava学习笔记02_对象
对象 1. 对象通过一个引用来操作,但是java中的对象是按值传递的,基本上可以在操作中认为对象本身,在内部结构中仍然要记得是对象实体的引用:如:String s = "abcd" ...
- Python学习_01_对象
之前关于python的知识比较零散,这一个系列的随笔将python重新学习整理一遍.学习书籍<Python核心编程>第二版. Python对象基础 python并不是一个单纯面向对象的语言 ...
- 关于Python的函数(Method)与方法(Function)
先上结论: 函数(function)是Python中一个可调用对象(callable), 方法(method)是一种特殊的函数. 一个可调用对象是方法和函数,和这个对象无关,仅和这个对象是否与类或实例 ...
- 浅析Python解释器的设计
从现代编译器的角度看,解释器和编译器的边界已经相当的模糊.我们后面的讨论说到的编译器就是Python的解释器,没有特别说明的指的是CPython的实现. 内存管理(Memory Management) ...
- 【Python3之模块及包的导入】
一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...