设为首页 - 加入收藏 - 网站地图 欢迎加QQ群 :14364084
当前位置:谭博的博客 > 编程语言 > python > 正文

Python 2.X 3.X 多版本共存

时间:2016-04-28 20:45 来源:未知 标签: 作者:谭博 阅读:

了解python的人都知道python有2.x版本和3.x版本,而python3.x版本不向下兼容,但是根据具体的需要,有时候要2.x和3.x共存,python共存本身没有问题,只是需要设置一些环境变量和修改一些东西来让它更容易使用。

一、Windows环境

首先当然是安装你需要的两个不同版本的python,我安装的是2.7和3.4的,两个版本安装顺序无所谓,但是后面安装的会变成默认的(因为我是后安装的python 3.4,它就变成了默认的python)。

然后去python27 文件夹下面把python.exe改名python2.exe,然后就可以在命令行下通过python或者py来调用3.x,python2来调用2.x。

另外pip的话直接使用 pip2 或者 pip3 就可以了。

 

二、Linux(Centos为例)环境

安装Pyenv


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

安装Python

查看可安装的版本


		
  1. pyenv install --list

该命令会列出可以用pyenv安装的Python版本,仅列举几个:


		
  1. 2.7.8   # Python 2最新版本
  2. 3.4.1 # Python 3最新版本
  3. anaconda-2.0.1 # 支持Python 2.6和2.7
  4. anaconda3-2.0.1 # 支持Python 3.3和3.4

其中形如x.x.x这样的只有版本号的为Python官方版本,其他的形如xxxxx-x.x.x这种既有名称又有版本后的属于“衍生版”或发行版。

安装Python的依赖包

在安装Python时需要首先安装其依赖的其他软件包,已知的一些需要预先安装的库如下。

在CentOS/RHEL/Fedora下:


		
  1. sudo yum install readline readline-devel readline-static
  2. sudo yum install openssl openssl-devel openssl-static
  3. sudo yum install sqlite-devel
  4. sudo yum install bzip2-devel bzip2-libs

安装指定版本

使用如下命令即可安装python 3.4.1:


		
  1. pyenv install 3.4.1 -v

该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包后重新执行该命令。

对于科研环境,更推荐安装专为科学计算准备的Anaconda发行版,pyenv install anaconda-2.1.0安装2.x版本,pyenv install anaconda3-2.1.0安装3.x版本;

Anacoda很大,用pyenv下载会比较慢,可以自己到Anaconda官方网站下载,并将下载得到的文件放在~/.pyenv/cache目录下,则pyenv不会重复下载。

更新数据库

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


	
  1. pyenv rehash

查看当前已安装的Python版本


	
  1. $ pyenv versions
  2. * system (set by /home/seisman/.pyenv/version)
  3. 3.4.1

其中的星号表示当前正在使用的是系统自带的python。

设置全局的Python版本


	
  1. $ pyenv global 3.4.1
  2. $ pyenv versions
  3. system
  4. * 3.4.1 (set by /home/seisman/.pyenv/version)

当前全局的python版本已经变成了3.4.1。也可以使用pyenv localpyenv shell临时改变python版本。

确认Python版本


	
  1. $ python
  2. Python 3.4.1 (default, Sep 10 2014, 17:10:18)
  3. [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>>

使用Python

  • 输入python即可使用新版本的python;
  • 系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
  • 使用pip安装第三方模块时会安装到~/.pyenv/versions/3.4.1下,不会和系统模块发生冲突。
  • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库;

 

关注微信公众号

微信扫一扫,打赏我

热评文章
    内容不错,支持一下
    评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
    • boGev
      2016-12-21 15:46:53发表

      万 部 A 片高清 国产 日韩 hTTp://uVU.cc/inRx

    • savin
      2016-04-28 18:46:10发表

      实用的干货