#######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. Mat 类的内存管理

    使用 Mat 类,内存管理变得简单,不再像使用 IplImage 那样需要自己申请和释放内存.虽然不了解 Mat 的内存管理机制,也无碍于 Mat 类的使用,但是如果清楚了解 Mat 的内存管理,会更 ...

  2. C++笔记--抽象机制

    类 一个类就是一个用户定义类型 一个结构体也是一种类.(成员函数),因为不同的结构体中可能会有相同的名字的成员函数,所以我们在定义成员函数的时候就必须给出有关结构体的名字 void Data::ini ...

  3. js/jq基础(日常整理记录)-4-一个简单的自定义tree插件

    一.一个简单的自定义tree插件 上一篇是之前自定义的table插件,这一篇也是之前同期尝试做的一个tree插件. 话不多说,先看看长什么样子哈! 现在来看确实不好看,以后在优化吧! 数据源:ajax ...

  4. 20169219《Linux内核原理与分析》第八周作业

    网易云课堂学习 task_struct数据结构 struct task_struct { volatile long state;进程状态 void *stack; 堆栈 pid_t pid; 进程标 ...

  5. 百度地图android客户端的AndroidMainfest.xml的学习和android版本号

    平时写android产品相关的东西接触比较少,于是找个例子学习下. 众所周知,Apk文件是可以反编译的,虽然看不到代码,xml还是可见的. 把百度地图android客户端反编译之后,来学习下它的And ...

  6. 校对双层PDF中的隐藏文本

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2012.06.11 目录一.背景二.能够校对的PDF需要满足的条件三.校对工具的选择四.校对过程五.延伸讨论 事先声明:本文 ...

  7. 别了,DjVu!

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2010.05.21 目录一.DjVu技术二.掌握DjVu技术的人三.玩DjVu的人四.小结跋:我与DjVu 谨以此文纪念与D ...

  8. linux手动安装配置 mysql5.7

    本文原出处地址  https://www.cnblogs.com/mujingyu/p/7689116.html 一.安装前的检查 1.1 检查 linux 系统版本 [root@localhost ...

  9. Algorithms - Bucket sort

    印象 图1 将元素分布在桶中 图2 元素在每个桶中排序 思想 桶排序将数组分到有限数量的桶子里.每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序). 分析 时间复杂度: ...

  10. C++期中考试

    第一题1. 补足日期类实现,使得能够根据日期获取这是一年中第多少天.(12分) date.h #ifndef DATE_H #define DATE_H class Date { public: Da ...