文章目录
python编译安装
1. centos8 下载编译安装python3.*
- 下载 https://www.python.org/
- 安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel
- 解压编译
prefix的含义,指定了安装路径。tar -zxvf Python-3.6.7.tgz ./configure --prefix=/opt/python367/ --enable-optimizations --enable-ipv6 make && make install
注意:经过测试,如果你的编译选项 --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参数的作用是:
- 生成Python的共享库(.so文件)
默认情况下,编译Python只会生成动态链接的解释器python可执行程序,不会生成共享库文件。
加入–enable-shared可以产生libpythonX.Y.so的共享库。 - 允许Python扩展以共享库形式存在
有些Python扩展需要以共享库的形式存在,并动态加载到Python中,这样需要Python本身也提供共享库接口。 - 支持将Python嵌入到其他程序中
通过Python提供的stable ABI,其他程序可以将Python的共享库链接并嵌入其中,实现扩展和嵌入Python的目的。 - 提高一些程序的加载速度
使用共享库可以使得多个应用程序共享同一份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.*
- 安装依赖
sudo apt-get update
sudo apt-get install build-essential
- 解压编译
prefix的含义,指定了安装路径tar -zxvf Python-3.6.7.tgz ./configure --prefix=/opt/python367/ --enable-optimizations --enable-ipv6 make && make install
总结: 同centos,就是依赖安装有点差异!