python编译安装(centos、uos\ubuntu)

python编译安装

1. centos8 下载编译安装python3.*

  1. 下载 https://www.python.org/
  2. 安装依赖
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel
    
  3. 解压编译
    tar -zxvf Python-3.6.7.tgz
    ./configure --prefix=/opt/python367/  --enable-optimizations  --enable-ipv6
    make && make install
    
    prefix的含义,指定了安装路径。

注意:经过测试,如果你的编译选项 --prefix= 指定了路径,那么你编译python后,执行pip,它默认是找你编译时–prefix= 指定了路径的解释器。因此,推荐–prefix= 改成我们真实需要安装的目录路径。

2. centos7下编译安装 python3.8.12

CentOS7下安装python3.8
参考URL: https://www.cnblogs.com/xiejava/p/15541899.html

环境:

 cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
sudo yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel  sqlite-devel readline-devel ncurses-devel tk-devel xz-devel gdbm-devel
yum install libffi-devel -y 

python官网https://www.python.org/
下载稳定版本3.8版

wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
tar -zxvf Python-3.8.12.tgz
cd Python-3.8.12/
# --prefix=要安装的路径 :python3的默认安装路径为/usr/local/bin/python3
#./configure
./configure --enable-shared  --prefix=/opt/python38/  
make&&make install

在编译Python源代码时,使用–enable-shared参数的作用是:

  1. 生成Python的共享库(.so文件)
    默认情况下,编译Python只会生成动态链接的解释器python可执行程序,不会生成共享库文件。
    加入–enable-shared可以产生libpythonX.Y.so的共享库。
  2. 允许Python扩展以共享库形式存在
    有些Python扩展需要以共享库的形式存在,并动态加载到Python中,这样需要Python本身也提供共享库接口。
  3. 支持将Python嵌入到其他程序中
    通过Python提供的stable ABI,其他程序可以将Python的共享库链接并嵌入其中,实现扩展和嵌入Python的目的。
  4. 提高一些程序的加载速度
    使用共享库可以使得多个应用程序共享同一份Python代码,减少内存占用和加载时间。

通过python -V命令查看python版号
使用python命令开启python,然后依次执行如下代码即可查看python安装路径:

>>> import sys
>>> sys.path

编译过程报错

编译报错: Could not import runpy module

参考URL: https://stackoverflow.com/questions/44463879/could-not-import-runpy-module

在低版本的gcc版本中带有 --enable-optimizations 参数时会出现上面问题
gcc 8.1.0修复此问题

1、升级gcc至8.1.0【不推荐】
2、./configure参数中去掉 --enable-optimizations

但是3.8.12测试 ./configure参数中去掉 --enable-optimizations,依旧报错。可以尝试方法1,升级GCC(未测试验证)

在 CentOS 7 软件源上,默认 GCC 可用版本是4.8.5:

Centos python3编译安装以及编译gcc升级
参考URL: https://cloud.tencent.com/developer/article/1754597

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright © 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

编译python3.8 报错:Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host()

参考本人原文:https://blog.csdn.net/inthat/article/details/131365519

3. uos\ubuntu 下载编译安装python3.*

  1. 安装依赖
sudo apt-get update
sudo apt-get install build-essential
  1. 解压编译
    tar -zxvf Python-3.6.7.tgz
    ./configure --prefix=/opt/python367/  --enable-optimizations  --enable-ipv6
    make && make install
    
    prefix的含义,指定了安装路径

总结: 同centos,就是依赖安装有点差异!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值