第一步:下载安装包

下载地址:https://www.python.org/ftp/python/

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

tar -xzvf Python-3.7.1.tgz
第二步:执行安装

1、创建存放目录

mkdir /usr/local/python3
2、运行脚本configure

configure是一个shell脚本,根据平台的特性生成Makefile文件,为下一步的编译做准备。可以通过在 configure 后加上参数来对安装进行控制,比如下面就是指定安装目录/usr/local/python3。如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,比较混乱。

例如我们执行如下命令:

cd Python-3.7.1

./configure --prefix=/usr/local/python3 --with-ssl
"–enable-optimizations"这个参数会启用配置文件引导的优化(PGO)和链接时间优化(LTO)。两者都是昂贵的优化,会减慢构建过程,但会显着提高速度(我记得阅读的内容大约有10-20%)。

./configure --enable-optimizations --prefix=/usr/local/python3
可以通过 ./configure --help 查看详细的说明帮助。

3、make编译make install安装

※如果有需要,会进行 make depend(一种makefile的规则,通过扫描一个目录下的所有C\C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include<b.h>),如果之后a.cc文件被改动,那么只需要重新编译a.cc文件,不需要编译b.h文件。否则所有的文件都需要重新编译)

从Makefile中读取指令,根据makefile制定的规则,将c\c++文件编译成*.o文件,然后进一步生成可执行文件。大多数的源代码包都经过这一步进行编译,(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

make && make altinstall
注意:如果 在make过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

4、最后运行make clean

删除一些临时文件(删除源代码(C\C++ code)生成的执行文件和所有的中间目标文件)

第三步:创建软连接


[root@localhost local] ln -s /usr/local/python3/bin/python3 /usr/bin/python3

[root@localhost local] ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
最后运行python3查看是否安装成功

[root@localhost local] python3
总结安装过程

绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件

./configure  # 检查编译环境/相关库文件/配置参数,生成makefile

make     # 对源代码进行编译,生成可执行文件

make install # 将生成的可执行文件安装到当前计算机中特点;
兼容性好/可控制性好/开源软件会大量使用其他开源软件的功能,要解决大量的依赖关系

总结报错解决

问题一:安装时报错ModuleNotFoundError: No module named '_ctypes’的解决办法

1、执行如下命令:

yum install libffi-devel
2、从"./configure …"重新安装

问题二:pip3 install时报错“pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.”

先安装openssl-dev,然后重新编译安装,只是在编译的过程中加入 --enable-optimizations

ubuntu:

sudo apt-get install libffi-dev
或者

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus

sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev

sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev

sudo apt-get install libssl-dev openssl

sudo apt-get install libffi-dev

ubuntu 安装 Python相关推荐

  1. apt ubuntu 指定ipv4_怎么在ubuntu安装python

    怎么在ubuntu安装python? python在ubuntu下有几种安装方法: ● 通过ubuntu官方的apt工具包安装 ● 通过PPA(Personal Package Archive) 的a ...

  2. Ubuntu安装Python的相对简单方法

    Ubuntu安装Python的相对简单方法 1. 需求和来源 2. 拯救者 apt 3. 安装Python 1. 需求和来源 在不同的Ubuntu系统中默认安装的Python版本也是不一样 有时候相关 ...

  3. ubuntu下安装python教程_怎么在ubuntu安装python

    怎么在ubuntu安装python? python在ubuntu下有几种安装方法: ● 通过ubuntu官方的apt工具包安装 ● 通过PPA(Personal Package Archive) 的a ...

  4. ubuntu安装python编译器_Ubuntu中安装VIM编辑器

    Ubuntu安装好以后,默认是安装使用nano编辑器.不过这对于用惯了vim的人可能会有些不习惯.好在Ubuntu下安装vim还是比较简单的,使用如下命令即可:sudo apt-get install ...

  5. Ubuntu安装Python模块时的报错

    在安装Python的psutil模块时,报"error: command 'x86_64-linux-gnu-gcc' failed with exit status 1"的错误, ...

  6. ubuntu安装python百度经验_如何在Ubuntu 20.04上安装Python 3.9(含python编译安装和使用Apt命令安装)...

    在本文中,我们将向您展示在Ubuntu 20.04上安装Python 3.9的两种方法.第一种使用APT命令安装Python3.9,第二种是在Ubuntu20.04上编译安装Python 3.9.本教 ...

  7. ubuntu安装python环境_AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装

    AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装 说实话我自己内心是不看好无人驾驶的短期普及的,但是通过对无人驾驶的研究可以实现对一些科学知识的掌握和探索.通过无人驾驶的仿真环 ...

  8. Ubuntu安装python开发必备软件

    今天介绍一下在使用Linux系统进行Ubuntu开发时,一些软件的安装(包括python,IDE 开发工具pycham,sougou输入法的安装,google Chrome的安装,以及sublime文 ...

  9. Ubuntu安装Python 3.6之编译安装+使用PPA源安装

    下面分别详细介绍一下Ubuntu 14.04/16.04安装Python 3.6的两种方法: 方法一 自己编译安装: # 安装编译必需的软件包 sudo apt install build-essen ...

  10. 在ubuntu安装python, theano, keras , Spearmint, Mongodb

    系统配置: Ubuntu 14 (其他系统也差不多如下操作) 1. 通过anaconda安装 python 地址: https://www.continuum.io/downloads#linux 2 ...

最新文章

  1. asp.net 2.0小TIPS两则
  2. 2020 云原生 7 大趋势预测
  3. mysql5.7.23手动配置安装windows版
  4. 给妹子修电脑,会有哪些故事?
  5. IDL与C#混合编程技术
  6. 从零开始配置服务器密码机的开发环境
  7. 02. Creating a Web Forms User Interface
  8. (计算机组成原理)第一章计算机系统概述-第四节:计算机的性能指标
  9. 95-38-055-Buffer-UnpooledDirectByteBuf
  10. mongodb的mapReduce查询
  11. 深度学习教程(3) | 浅层神经网络(吴恩达·完整版)
  12. 保镖机器人作文_保镖小学生作文
  13. 世人谓我太疯癫,我笑世人看不穿
  14. 草履虫纳米机器人_《Nature》草履虫大小的微型机器人:由激光驱动可用于显微外科...
  15. 2018年Android面试题含答案--适合中高级
  16. Linux应用开发(十一)——I^2C接口
  17. MATLAB基于Canny边缘检测的车牌识别
  18. Prometheus监控神技--自动发现配置
  19. P3386 【模板】二分图最大匹配(匈牙利算法,网络流)
  20. 数据库设计——新零售

热门文章

  1. 2022茶艺师(中级)操作证考试题库及模拟考试
  2. 卫翰思治下的爱立信:被华为全面超越 近一年股价跌40%
  3. Windows留后门--教程(五)——shift粘贴键后门
  4. 代理服务器的原理及用法(解决上网时间限制问题)
  5. 乱七八糟的分析View体系
  6. 图片处理为浮雕和黑白效果
  7. 摩根大通正在放出更多区块链职位,数量超过任何一家华尔街企业
  8. ICT 2017 | 斑马网络郝飞:当汽车走进智联网时代
  9. Hibernate与JDBC的优缺点
  10. Cesium鼠标移入或悬停在某些铯对象上时更改鼠标箭头为手势