#######for linux

https://www.cnblogs.com/saneri/p/7642316.html

经常遇到这样的情况:

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

1.安装pyenv:

1.>安装依赖包:

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

2.>安装pyenv包:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

3.>设置环境变量:

#vim ~/.bashrc 
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)" #source ~/.bashrc
#即是启动语句,重启系统执行这条语句
exec $SHELL

2.查看pyenv支持的python版本,同时也是检验有没有安装成功:

1
pyenv install --list

3.查看当前pyenv可检测到的所有版本,处于激活状态的版本前以 * 标示.

1
2
3
4
[root@localhost ~]# pyenv versions
  system
  3.5.1
* 3.5.3 (set by /root/.pyenv/version)

4.查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)

1
2
[root@localhost ~]# pyenv version   
3.5.3 (set by /root/.pyenv/version)

5.将3.5.1作为全局变量,使用如下命令.

1
2
3
[root@localhost ~]# pyenv global 3.5.1
[root@localhost ~]# pyenv version
3.5.1 (set by /root/.pyenv/version)

6.设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version 文件的方式。
 #在本地创建目录ops,执行pyenv local 3.5.3后,只有在这个目录是3.5.3的版本,别的目录使用默认的版本.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~]# python -V
Python 3.5.1
[root@localhost ~]# pyenv versions
  system
* 3.5.1 (set by /root/.pyenv/version)
  3.5.3
[root@localhost ~]#
[root@localhost ~]# mkdir ops
[root@localhost ~]# cd ops/
[root@localhost ops]# pyenv local 3.5.3
[root@localhost ops]# python -V
Python 3.5.3
[root@localhost ops]# cd ..
[root@localhost ~]# python -V
Python 3.5.1

7.安装你需要的Python版本(如3.4.0):

1
2
3
pyenv install 3.4.0 -v
 
#小技巧,可以在/root/.pyenv/目录下创建cache目录,将下载好的Python-3.4.0的包放在该目录下,就可以直接执行安装,而不需要下载,节省下载时间.

8.安装完成之后需要对数据库进行更新:

1
pyenv rehash

9.卸载python 3.4.0版本.

1
pyenv uninstall 3.4.0

参考文档:

     http://www.jianshu.com/p/a23448208d9a

    http://www.360doc.com/content/16/0821/11/35455208_584738668.shtml

    http://www.linuxidc.com/Linux/2017-02/140201.htm

#####for windows python2 和python3:

https://blog.csdn.net/dream_an/article/details/51248736

0.0 因为公司项目,需要Python两个版本共存开发,一个2.7x用来处理空间数据主要配合ArcGIS,而另一个3.5x用来做算法应用。因此就必须在计算机中共存2.7x和3.5x版本的。这次解决共存后记录下来过程,分享给大家。

1.0 下载Python2.7x和Python3.5x版本
2.0 安装Python2.7x和Python3.5x版本
很简单,直接点击安装,注意安装位置,我的安装位置为E:\IDES\Python27\和E:\IDES\Python35

3.0 配置环境变量,分别添加如下至path路径(我的计算机是Windows10系统)
E:\IDES\Python35
E:\IDES\Python35\Scripts
E:\IDES\Python27
E:\IDES\Python27\Scripts
1
2
3
4

4.0 只修改Python27(E:\IDES\Python27)文件中的.exe文件(这样系统默认为Python3.5)
将python.exe修改为python2.exe

5.0 如何在cmd中分别调用Python2.7和Python3.5
5.1 输入Python2 可调用Python2.7版本

5.2输入Python 可调用Python3.5版本

6.0 使用pip安装科学栈如numpy、pandas等
6.1 为Python2.7版本安装科学栈
查看已安装科学栈情况和版本

python2 -m pip list 查看
python2 -m pip install --upgrade pip 更新
python2 -m pip install numpy 安装
1
2
3

6.2 为Python3.5版本安装科学栈
查看已安装科学栈情况和版本

pip list
pip install --upgrade pip
pip install numpy
1
2
3

6.3 如果想通过pip安装其他科学栈如pymssql simpleitk mysqlclient bottleneck nitime bazaar mkl-service yt等到

送上科学栈镜像网址,这里有可安装的二进制科学栈文件以及依赖(就是安装某个科学栈之前必须先安装哪些)说明。

(https://www.lfd.uci.edu/~gohlke/pythonlibs/)

6.4 也可参考我另一个学习笔记Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)
Windows下Python多版本共存
Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)
---------------------
作者:王小雷-多面手
来源:CSDN

############windowss pycharm

pycharm当中,如何导入python2或者python3环境

https://blog.csdn.net/u010801439/article/details/78460962

  1. step 1


  1. step 2

  1. step 3

OK ,环境添加完毕,此环境为python 2.7.17(python 3可按此步骤添加),如此一来,我们可以灵活的再此处切换所有的编译环境。

转 Python多版本管理-pyenv的更多相关文章

  1. Python多版本管理-pyenv

    经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pye ...

  2. python 多版本管理pyenv和virtualenv虚拟开发环境

    pyenv是管理多个python版本的工具. 1.pyenv的安装 git clone https://github.com/yyuu/pyenv.git ~/.pyenv 2.将PYENV_ROOT ...

  3. 你应该学会的Python多版本管理工具Pyenv

    目录 Pyenv 简介 安装pyenv 通过pyenv安装python各种发行版 pyenv命令 多版本Python的管理 Pyenv常见问题Wiki Pyenv 简介 首先,该工具是在类linux环 ...

  4. python多版本管理包pyenv

    前言: CentOS7  默认版本 python2.7.5 ,但是目前项目开发都是在python3的环境下,而单独编译安装python3时会出现各种异常!!! 系统默认python2.7又不能删除,否 ...

  5. Python多版本管理器-pyenv 介绍及部署记录

    一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...

  6. centos下python多版本管理(pyenv+python+virtualenv+ipython)

    pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...

  7. Python开发环境-Pyenv安装使用

    安装使用-Pyenv 简单的python版本管理:pyenv 管理python解释器 管理python版本 管理python的虚拟环境 官网:https://github.com/pyenv/pyen ...

  8. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  9. python系列-3 pyenv的使用

    安装: git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv& ...

随机推荐

  1. ZROI2018提高day1t2

    传送门 分析 考场上看错了第一个条件,于是觉得是个简单贪心,随便取了每一个点的最大收益然后算了一下,就得了40pts...看来读对题很重要呀qwq.实际的正解是这样的:我们将每一个i与f[i]连一条边 ...

  2. 718C Sasha and Array

    传送门 题目 Sasha has an array of integers a1, a2, ..., an. You have to perform m queries. There might be ...

  3. 前端基础 之 CSS

    浏览目录 CSS介绍 CSS语法 CSS的几种引入方式 CSS选择器 CSS属性相关 一.CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览 ...

  4. DIY的RPM包怎么签名呢 - 笔记

    参考 https://gist.github.com/fernandoaleman/1376720 如果打不开上一个连接,请参考https://www.cnblogs.com/LiuYanYGZ/p/ ...

  5. ubuntu下各种解压缩文件方式

    tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzi ...

  6. jemalloc和内存管里

    netty的buffer引入了缓冲池.该缓冲池实现使用了jemalloc的思想.为了看懂这块代码学写了内容分配的知识.这里讲的内存分配是堆的内存分配,其他内容本文不会涉及. 内存分配是面向虚拟内存的而 ...

  7. Spring Bean的装配

    Bean 的装配,即Bean对象的创建.容器根据代码要求创建Bean对象后再传递给代码的过程,称为Bean的装配. 一.默认分的装配方式 默认的装配的方式调用Bean类的构造方法 二.动态工厂Bean ...

  8. Java NIO学习笔记

    Java NIO学习笔记 一 基本概念 IO 是主存和外部设备 ( 硬盘.终端和网络等 ) 拷贝数据的过程. IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成. 所有语言运行时系统提供执 ...

  9. javascript javascript面向对象的理解及简单的示例

    javascript面向对象的理解及简单的示例 零.本节重点: 1.封装: 2.继承: 壹.下面理解: 一. javascript面向对象概念: 为了说明 JavaScript 是一门彻底的面向对象的 ...

  10. Mysql 5.6主从搭建

    mysql设置主从的重要性和必要性不必多说,下面开始详细说明如何搭建主从. 1.主服务器上创建一个用于复制的账户. mysql'; mysql> flush privileges; 2.主服务器 ...