正文共2282个字,预计阅读时间10分钟。

Python 3和Python 2?

自从 Python 发布新的版本 3 以来,就一直是开发者心中的一个纠结。由于 Python 3 并不完全兼容 Python 2的语法,这导致大量的Python 2时代的优秀module在Python 3中无法使用,这些module的开发者自身也感到并没有令人特别激动的理由让自己用Python 3来对module进行重写,这导致大家都继续集体停留在Python 2的乐园里。

另一方面,Python 3在世界上还是有诸多拥趸,新开发出来的module大多数都是采用 Python 3规范进行编写,例如 tensorflow,numpy 等都发布Python 2和3两种版本。

除此之外,Python 2内部也有 2.5, 2.7等版本,Python 3内部也有 3.4, 3.5等版本。

多版本共存的刚需

由于开发任务的不同,例如hedes可能需要采用Python 3的某个爬虫库,用以采集网络文本数据,然后利用tensorflow来开发深度学习的文本情感分类算法。那么此时张三就需要调用Python 3版本下的多个库,而目前张三的Ubuntu 服务器上只有Python 2.7,因此他需要安装python 3并安装对应的python 3 module

Ubuntu 14.04安装Python 3

hedes的服务器是联想的P900 工作站,安装的系统是Ubuntu 14.04,显卡是NV-Titan-X。

Ubuntu 14.04 系统已经原生安装了 Python 2.7

1、安装 Python 3

Python 3 采用 apt-get 默认安装到 /usr/bin/python3

sudo apt-get install python3#目前系统上默认安装 Python 3.4

2、安装 Python 3.4 or 3.5

Python 3.4 采用 apt-get 默认安装到 /usr/bin/python3.4

sudo apt-get install python3.4

Python 3.5 采用 apt-get 默认安装到 /usr/bin/python3.5

# 添加 ppasudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get install python3.5

3、安装 Python 3的库

安装 Python 3的库(以 numpy 为例),安装位置是 /usr/local/lib/python3/dist-packages

# 采用 pip3 进行安装之前,先安装 python3.4-dev

sudo apt-get install python3.4-dev

# 如果之前已经通过 apt-get 安装过了 python3-numpy,那么这里将不会对 numpy 进行安装

sudo pip3 install numpy

# 值得注意的是,如果先用 pip3 安装了numpy,那么 python3-numpy 还是可以用 apt-get 进行安装...,但是Python 2中就不是这样,如果已经用pip 安装过了 numpy,那么 python-numpy 就不会被安装...anyway,总之是装上了模块了

欲采用 pip 安装 Python 3.4 or Python 3.5 的库,则需要用到 virtualenv 命令,在独立环境中用 pip 进行安装,详细参照本文的下一篇

查看 module 的位置

# python3.4import numpy as np print(np.__path__)

安装 Python 3的库(以numpy为例),安装位置是 /usr/lib/python3/dist-packages/

sudo apt-get install python3-numpy

安装 Python 3.4的库

因为其实目前无法安装 python3.4-numpy 或者 python3.5-numpy,我估计是因为目前的python3-numpy 包对Python 3的任意版本都是通用

如果要安装 python3.4-name1 的库,那么安装的位置是 /usr/lib/python3.4/dist-packages

采用 apt-get 方式的安装

采用 pip 的方式安装

shell中调用Python的不同版本

假设我们将 Python 每种版本对应的 module 都采用 pip2 or pip3进行安装,那么我们可以采用如下的方式来调用 Python 2 和 Python 3。

1、小贴士

# 查看 Python 这个可执行程序的位置

which python

# 查看 Python 这个文件名或文件夹名在系统中出现的位置

# locate 跟 find 不同,find 是直接硬查找,而locate 是查询系统中的数据库来快速定位相关 name 出现的位置locate python

2、shell 中调用 Python 2

# 以下三种方式都可以调用 Python 2.7python python2 python2.7

3、shell 中调用 Python 3

# 前两种方式调用的是 Python 3.4python3 python3.4# 该种方式调用的是 Python 3.5python3.5

4、进入 Python 的解释器后,就可以 import 各种module了,只要这个模块存在于对应Python 版本的lib中。

原文链接:https://www.jianshu.com/p/772f53c74d67

查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org

请关注人工智能LeadAI公众号,查看更多专业文章

大家都在看


LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

Python 多版本共存问题相关推荐

  1. 检测到python编程环境中存在多个版本_windows配置Python多版本共存

    windows配置Python多版本共存 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近Python开发蛮火的,三年前我的一个运维朋友就告诉我说Python语言将来会很火,当时 ...

  2. Python多版本共存之pyenv

    2019独角兽企业重金招聘Python工程师标准>>> 经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2. ...

  3. python不同版本共存_多版本Python共存的配置方法

    同一台PC中,如果同时安装Python2和Python3环境,会在执行python命令时出现错误,操作系统会找到默认的配置进行执行.怎么样才能让python2和python3一起工作又互相不影响呢. ...

  4. Python 多版本共存问题 2

    正文共2550个字,预计阅读时间10分钟. 本文主要讨论 多种版本的 Python 模块的共存与调用问题,并尝试给出一种清爽的解决办法. 多种版本的Python module? 伴随 Python 逐 ...

  5. python 多版本共存

    经常遇到这样的情况: 系统自带的 Python 是 2.6,自己需要 Python 2.7 中的某些特性: 系统自带的 Python 是 2.x,自己需要 Python 3.x: 此时需要在系统中安装 ...

  6. python多版本共存 ubuntu_Linux下python3与python3的多版本共存

    python3已经出来有些许时候了,python3相比python2进行了大量的改进,包括语法,新的功能,还有优化.虽然很多库已经同时支持 python2和python3了,但是有些库仍然没有很好的支 ...

  7. Win10 python双版本共存配置问题 Configuration file could not be loaded.

    根据博客配置双版本python共存,重装pip时遇到问题 Configuration file could not be loaded. File contains no section header ...

  8. python多版本共存使用pip

    有时候大家使用python的时候都会用到两个版本,虽说可以独立设置环境变量独立使用,但是用到pip的时候就不行了,python2和python3中的都用相同的pip.在这里我就把我的经验分享给大家. ...

  9. python不同版本共存_多个python版本共存时的pip配置

    两种方法来配置pip Func1: 1.1 找到python环境的安装包,将python.exe文件重命名,如:将python2.7版本的python.exe重命名为Python2.exe,将pyth ...

最新文章

  1. npm install 原理(node_modules)
  2. UDP协议抓包分析 -- wireshark
  3. Error during artifact deployment. See server log for details解决办法
  4. linux多线程加解锁
  5. 屏占比更高!16英寸Macbook Pro再曝光
  6. 结构体与共用体07 - 零基础入门学习C语言59
  7. mysql如何查看dbid_如何获得数据库的DBID
  8. HTML5等先关。。。
  9. Qt-十字消除小游戏
  10. navicat中文破解版,navicat for mysql10.0.11简体中文破解版
  11. java的path的设置路径_java安装path设置
  12. 第四天作业发布时间:2021-05-31 09:57:49相关课程:RHCSA2021-05-22 
  13. Java讯序_java使用顺序表制作电子通讯录,实现添加,删除和排序的功能.
  14. 15nm粒径球形纳米金AuNPs-Thrombin修饰R-藻红蛋白/阿霉素的制备过程
  15. iOS开发中常见的英文
  16. 护眼灯哪些牌子好?央视推荐的护眼台灯
  17. C#实现将度分秒化为弧度值
  18. C++ Reference: Standard C++ Library reference: C Library: cmath: erfc
  19. 探寻C/C++中更快的大数(自然数集)模板
  20. 和微信公众号编辑器战斗的日子

热门文章

  1. 学mysql需要学python吗_python 学习 第六篇 mysql
  2. javascript乘法和加法_前端基础:JavaScript
  3. list遍历_Qt 容器类之遍历器和隐式数据共享
  4. 微型计算机生产制约因素,精品解析:广东省东莞市2019-2020学年高三下学期第一次统考(5月)模拟考试文科综合地理试题...
  5. HTML文档的三大构成元素,构成基础结课小结 为什么三大构成是设计的基础课程...
  6. mysql管理数据 并上传至云端_怎样将MySQL数据库上传到服务器
  7. dz去掉/forum.php_discuz如何去除url的forum.php
  8. python 中的列表中最大数怎么求_python 找出list中最大或者最小几个数的索引
  9. java如何批量导入题目_MyBatis 如何批量插入?
  10. java nio 事件_Java NIO原理及实例