python3已经出来有些许时候了,python3相比python2进行了大量的改进,包括语法,新的功能,还有优化。虽然很多库已经同时支持 python2和python3了,但是有些库仍然没有很好的支持python3,因此有时我们还是需要使用python2。
 
笔者是在去年开始学python的,作为没有历史包袱的初学者,当时自然而然的选则了python3来进行学习,但是在安装了新的python3后,新安装的python3不可避免的与系统自带的python2产生了一些冲突。包括不同版本的调用,不同版本的python库安装工具(pip,easy_install)。
 
本文就python2和pyhon3共存的环境进行了说明,包括python3的安装,pip的安装,以及如何调用这两种python版本。
 

ubuntu的配置方法

1、安装python2

多数linux发行版都自带了python2,不与要单独安装。
$ sudo apt-get install python2

2、安装easy_install for python2

使用wget安装(可能需要root权限)[推荐]

$ wget https://bootstrap.pypa.io/ez_setup.py -O - | python2
或者先下载ez_install.py,再安装
$ python2 ez_install.py

可以看到,安装脚本ez_setup.py支持两种python版本,如果用python2运行该脚本,安装好的easy_install就是针对python2的。同样的,若使用python3运行该脚本,安装好的easy_install就是针对python3的。

3、安装pip for python2

$ easy_install-2.7 pip
pip2.7 install xxx

4、安装python3

$ sudo apt-get install python3

5、安装easy_install for python3

使用wget安装(可能需要root权限)[推荐]
$ wget https://bootstrap.pypa.io/ez_setup.py -O - | python2
或者先下载ez_install.py,再安装
$ python ez_install.py

5、安装pip for python3

$ easy_install pip

使用

python2

python

easy_install

pip

python3

python3

easy-install3

pip3

archlinux的配置方法

安装python3

$ sudo pacman -S python

安装python2

$ sudo pacman -S python2 

对于archlinux easy_install pip包含在软件库里

python-setuptools
python-pip
python2-setuptools
python2-pip

使用

python2
python2 
easy_install-2.7
pip2.7
 
python3
python
easy-install
pip
 

转载请注明来自:田小777-博客园

原文地址:http://www.cnblogs.com/kitian616/p/4747308.html

如若转载,请保留原文地址。谢谢合作。

Linux下python3与python3的多版本共存的更多相关文章

  1. linux下yum安装python3

    linux下yum安装python3 linux下yum安装python3yum install python34 -ypython3 --version wget --no-check-certif ...

  2. Linux下怎么查看当前系统的版本

    Linux下怎么查看当前系统的版本:   uname -r 功能说明:uname用来获取电脑和操作系统的相关信息. 语 法:uname [-amnrsvpio][--help][--version] ...

  3. 解决linux下javac -version和java -version版本显示不一致

    解决linux下javac -version和java -version版本显示不一致 [javascript] view plaincopy [root@localhost usr]# $JAVA_ ...

  4. [转载]linux下如何查看系统和内核版本

    原文地址:linux下如何查看系统和内核版本作者:vleage 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2 ...

  5. Linux下升级安装Python-3.6.2版本

    本文主要介绍在Linux(CentOS)下将Python的版本升级为3.6.2的方法 众所周知,在2020年python官方将不再支持2.7版本的python,所以使用3.x版本的python是必要的 ...

  6. Linux下编译安装python3

    Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...

  7. linux下python2升级python3,python2和python3并存

    wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz 解压:tar -xzvf Python-3.6.4.tgz cd Pytho ...

  8. Linux下Python2升级Python3

    Linux下Python2的升级方法: 一.下载Python3安装包: 1.在线下载 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2 ...

  9. Linux下编译安装Python-3.6.5

    1.下载Python-3.6.5安装包 在Python官网(https://www.python.org/downloads/)下载对应的安装包,选择3.6.5的linux版本,如下图: 2.将安装包 ...

  10. Linux下一键安装Python3&更改镜像源&虚拟环境管理技巧

    前言 之前分享过一篇<Linux系统自带Python2&yum的卸载及重装>,介绍了如何卸载及重装Linux(CentOS)自带的的Python2.7.今天主要介绍如何在Linux ...

随机推荐

  1. The difference between text mode and binary mode with file streams

    FIO14-C. Understand the difference between text mode and binary mode with file streams     Skip to e ...

  2. a trick in reading and storing file in the exact way!

    read and write file is a very common operation regarding file mainuplation. However, the powerfull g ...

  3. jquery禁用右键、文本选择功能、刷新

    //禁用右键.文本选择功能.刷新 $(document).bind(“contextmenu”,function(){return false;}); $(document).bind(“select ...

  4. No row with the given identifier exists[ArtProject.Domains.Users#2]

      产生此问题的原因:              有两张表,table1和table2. 产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-on ...

  5. 网络流(最大流):COGS 28 [NOI2006] 最大获利

    28. [NOI2006] 最大获利 ★★★☆   输入文件:profit.in   输出文件:profit.out   简单对比 时间限制:2 s   内存限制:512 MB [问题描述] 新的技术 ...

  6. Unique Paths II ——LeetCode

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  7. HDOJ(HDU) 2502 月之数(进制)

    Problem Description 当寒月还在读大一的时候,他在一本武林秘籍中(据后来考证,估计是计算机基础,狂汗-ing),发现了神奇的二进制数. 如果一个正整数m表示成二进制,它的位数为n(不 ...

  8. UIView和CALayer有什么关系

    view是对layer的一种封装,你对view的很多操作事实上是对layer的操作,之所以会出现这两个东西是因为1.view支持很多手势的交互,你所操作iphone的各种点击,拖动等等.2.layer ...

  9. 谈JSON在Ajax中的使用

    JSON是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.AJAX是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术.之前也曾介绍过在PHP语言中使用JSON的文章, ...

  10. greenplum和postgresql

    想着要不要写,两个原因"懒"和"空".其实懒和空也是有联系的,不是因为懒的写,而是因为对PostgreSQL和Npgsql的知识了解匮乏,也就懒得写.好了,开头 ...