Pyenv + virtualEnv 设置

安装这两个组件是为了适应不同版本的python在同一个系统下的运行;
例如现在最明显就是python2.7和python3.6的两个版本,很多库依旧是使用了
Python2.7 但官方推荐的python3.6 当然不支持python2.7 的还是比较少的;两个版本是之间断层的,3.6 不兼容2.7的,没办法,只能这样来。

1,安装pyenv
1)安装依赖库

yum install git
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2)安装pyenv

mkdir ~/.pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL –l

3)pyenv 命令总结
详细列表:https://github.com/yyuu/pyenv/blob/master/COMMANDS.md#command-reference

常用命令如下:
- pyenv versions:查看当前 pyenv 可检测到的所有版本,处于激活状态的版本前以 * 标示。
- pyenv version:查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)
- pyenv install:使用 python-build(一个插件) 安装一个 Python 版本,到 $PYENV_ROOT/versions 路径下。建议添加 -v 参数用于显示细节。python-build 会首先尝试从一个镜像站点下载包,此时可以去 /tmp/python-build.xxx 里面关心一下下载速度
- pyenv uninstall:卸载一个版本
- pyenv rehash:为所有已安装的可执行文件 (如:~/.pyenv/versions//bin/) 创建 shims,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
- pyenv global:设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
- pyenv local:设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。
- pyenv shell:设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本。

2,安装pyenv-virtual
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。

1)安装pyenv-virtual

$git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
$source ~/.bash_profile

2)实战例子
(1)查看可下载python版本

pyenv install –list

(2)安装3.5.3 python 版本

pyenv install –v 3.5.

(3)查看所有版本

Pyenv versions

(4)利用virtualenv 创建3.5.3 python 环境

Pyenv virtualenv 3.5. env353

(5)切换到pyenv 虚拟环境

Pyenv activate env353

(6)离开环境,切换回系统环境

Pyenv deactivate

(7)删除虚拟环境

Pyenv virtualenv-delete env353

pyenv+virtual 笔记的更多相关文章

  1. 常用服务部署脚本(nodejs,pyenv,go,redis,)

    根据工作总结的常用安装脚本,要求linux-64系统 #!/bin/bash path=/usr/local/src node () { cd $path #wget https://nodejs.o ...

  2. linux centos7 安装虚拟Python环境,pyenv安装文档

    python多版本控制pyenv安装文档 1.在线安装: curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-i ...

  3. C++ 学习笔记 (七)继承与多态 virtual关键字的使用场景

    在上一篇 C++ 学习笔记 (六) 继承- 子类与父类有同名函数,变量 中说了当父类子类有同名函数时在外部调用时如果不加父类名则会默认调用子类的函数.C++有函数重写的功能需要添加virtual关键字 ...

  4. C#开发笔记之01-为什么开源框架会大量的使用protected virtual?

    C#开发笔记概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/957 访问. 我们在很多开源框架中会经常看到prote ...

  5. Effective C++学习笔记 条款07:为多态基类声明virtual析构函数

    一.C++明确指出:当derived class对象经由一个base class指针被删除,而该base class带着一个non-virtual析构函数,其结果未定义——实际执行时通常发生的是对象的 ...

  6. Effective C++_笔记_条款09_绝不在构造和析构过程中调用virtual函数

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 为方便采用书上的例子,先提出问题,在说解决方案. 1 问题 1: ...

  7. Effective C++_笔记_条款07_为多态基类声明virtual析构函数

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 这个规则只适用于polymorphic(带多态性质的)base ...

  8. C++学习笔记25,析构函数总是会宣布virtual

    为了永远记住析构函数声明virtual----><<effective c++>> 为这句话不一定对,但无需质疑的是这句话是非常实用的. 查看以下的样例: #includ ...

  9. C++11 virtual函数学习笔记

    #include<iostream> #include<string> using namespace std; class Base { public: Base(){} ~ ...

随机推荐

  1. Spark线性回归实现优化

    import org.apache.log4j.{Level, Logger} import org.apache.spark.ml.feature.VectorAssembler import or ...

  2. sqlserver 拆分

    有表tb, 如下:id value----------- -----------1 aa,bb2 aaa,bbb,ccc欲按id,分拆value列, 分拆后结果如下:id value--------- ...

  3. 禁用selinux

    查看selinux状态: [root@VM000000518 upload]# getenforce Enforcing 禁用: [root@VM000000518 upload]# setenfor ...

  4. MySQL基本简单操作01

    MySQL基本简单操作 学会了安装Docker,那么就将它利用起来.(/滑稽脸) 之前想学习Mysql(Windows下配置真麻烦),学会了Docker就方便了,直接使用Docker创建一个Mysql ...

  5. 联想笔记本Y7000P安装nvidia,cuda,tensorflow,pytorch

    Y7000P电脑环境i7处理器,1060显卡,16g内存,win10家庭版(系统版本号1809),在联想官网升级过bios,所有驱动都是最新.(截止时间点2019年3月1日) python3.5 安装 ...

  6. ArcGIS栅格影像怎么从WGS84地理坐标转成Xian80投影坐标

    事情是这样的,我下载了一个WGS84坐标系的影像图,需要加载到Xian80投影坐标系下,所以需要对影像图进行坐标系的转换 1.因为涉及到两个参考椭球的问题,首先需要计算七参数,如何计算七参数,请参考我 ...

  7. Android中长度单位和边距

    Android表示单位长度的方式通常有三种表示方式. 距离单位☞px:表示屏幕实际的象素.例如,320*480的屏幕在横向有320个象素,在纵向有480个象素 距离单位☞dp:dp = dpi     ...

  8. hibernate validator 动态返回国际化提示

    一.说明 以下方法实现了读取指定国际化文件的校验器. 1. MyMessages是自定义的国际化文件,放置在src的根目录下 例如有MyMessages_en_US.properties.MyMess ...

  9. How enable deprecated functions in Qt5

    问题:Qt5中如何启用以 QT_DEPRECATED_SINCE标识的已经废弃/过时的方法? I want to port a Qt4 program to Qt5 and some function ...

  10. gitlab分支代码本地拉取及jenkins关联gitlab分支

    git本地拉取 git init git remote add origin http://47.*.*.*:8089/back_dev/claimeureka.git git fetch origi ...