Linux上使用Python源码编译安装Python

news2024/10/6 6:42:44

安装python

apt install python3-dev python3 python3-venv
yum install python38-devel

源码安装Python

1.下载需要的Python版本

Python源码地址:https://www.python.org/downloads/source/

在这里插入图片描述

2.安装gcc(yum install gcc)

在这里插入图片描述

3.解压,配置,安装

tar -zxvf Python-3.8.18.tgz
mkdir /usr/local/Python38
cd Python-3.8.18
./configure --prefix=/usr/local/python38
make -j 8 && make install

4.链接

ln -s /usr/local/python38/bin/python3.8 /usr/bin/python
ln -s /usr/local/python38/bin/pip3 /usr/bin/pip

whl文件安装python库

有网的环境直接用pip,方便快捷:

pip install  xxx

没网的情况下,可以去官网搜索需要的python库下载对应的whl文件进行安装。注意,此时下载的whl安装包一定要是符合自己Python版本和系统处理器位数的版本,下载的库名中cp39代表python3.9版本,想知道系统具体可以安装哪些标签的.whl文件,可以使用pip debug --verbose,兼容的文件标签就会显示。

[fakerth@localhost ~]$ pip debug --verbose
pip version: pip 23.0.1 from /usr/local/python38/lib/python3.8/site-packages/pip (python 3.8)
sys.version: 3.8.18 (default, Nov 17 2023, 18:40:57) 
[GCC 8.5.0 20210514 (Red Hat 8.5.0-20)]
sys.executable: /usr/local/python38/bin/python3.8
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: linux
sys.implementation:
  name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /usr/local/python38/lib/python3.8/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
  CacheControl==0.12.11
  colorama==0.4.6
  distlib==0.3.6
  distro==1.8.0
  msgpack==1.0.4
  packaging==21.3
  platformdirs==2.6.2
  pyparsing==3.0.9
  pyproject-hooks==1.0.0
  requests==2.28.2
  certifi==2022.12.07
  chardet==5.1.0
  idna==3.4
  urllib3==1.26.14
  rich==12.6.0 (Unable to locate actual module version, using vendor.txt specified version)
  pygments==2.13.0
  typing_extensions==4.4.0 (Unable to locate actual module version, using vendor.txt specified version)
  resolvelib==0.8.1
  setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)
  six==1.16.0
  tenacity==8.1.0 (Unable to locate actual module version, using vendor.txt specified version)
  tomli==2.0.1
  webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 543
  cp38-cp38-manylinux_2_28_x86_64
  cp38-cp38-manylinux_2_27_x86_64
  cp38-cp38-manylinux_2_26_x86_64
  cp38-cp38-manylinux_2_25_x86_64
  cp38-cp38-manylinux_2_24_x86_64
  cp38-cp38-manylinux_2_23_x86_64
  cp38-cp38-manylinux_2_22_x86_64
  cp38-cp38-manylinux_2_21_x86_64
  cp38-cp38-manylinux_2_20_x86_64
  cp38-cp38-manylinux_2_19_x86_64
  cp38-cp38-manylinux_2_18_x86_64
  cp38-cp38-manylinux_2_17_x86_64
  cp38-cp38-manylinux2014_x86_64
  cp38-cp38-manylinux_2_16_x86_64
  cp38-cp38-manylinux_2_15_x86_64
  cp38-cp38-manylinux_2_14_x86_64
  cp38-cp38-manylinux_2_13_x86_64
  cp38-cp38-manylinux_2_12_x86_64
  cp38-cp38-manylinux2010_x86_64
  cp38-cp38-manylinux_2_11_x86_64
  cp38-cp38-manylinux_2_10_x86_64
  cp38-cp38-manylinux_2_9_x86_64
  cp38-cp38-manylinux_2_8_x86_64
  cp38-cp38-manylinux_2_7_x86_64
  cp38-cp38-manylinux_2_6_x86_64
  cp38-cp38-manylinux_2_5_x86_64
  cp38-cp38-manylinux1_x86_64
  cp38-cp38-linux_x86_64
  cp38-abi3-manylinux_2_28_x86_64
  cp38-abi3-manylinux_2_27_x86_64
  cp38-abi3-manylinux_2_26_x86_64
  cp38-abi3-manylinux_2_25_x86_64
  cp38-abi3-manylinux_2_24_x86_64
  cp38-abi3-manylinux_2_23_x86_64
  cp38-abi3-manylinux_2_22_x86_64
  cp38-abi3-manylinux_2_21_x86_64
  cp38-abi3-manylinux_2_20_x86_64
  cp38-abi3-manylinux_2_19_x86_64
  cp38-abi3-manylinux_2_18_x86_64
  cp38-abi3-manylinux_2_17_x86_64
  cp38-abi3-manylinux2014_x86_64
  cp38-abi3-manylinux_2_16_x86_64
  cp38-abi3-manylinux_2_15_x86_64
  cp38-abi3-manylinux_2_14_x86_64
  cp38-abi3-manylinux_2_13_x86_64
  cp38-abi3-manylinux_2_12_x86_64
  ...

官网地址:https://pypi.org/

在这里插入图片描述

最后一步,安装:

pip install xxxx.whl

问题解决

1.ERROR!You probably have to install the development version of the Python package for your distribution.

configure: error: 
  Could not link test program to Python. Maybe the main Python library has been
  installed in some non-standard library path. If so, pass it to configure,
  via the LDFLAGS environment variable.
  Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
  ============================================================================
   ERROR!
   You probably have to install the development version of the Python package
   for your distribution.  The exact name of this package varies among them.
  ============================================================================

See `config.log' for more details

明明有python,为什么还会报这个错误呢?解决方法:安装python-dev。正常可以使用yum或者apt-get命令直接安装python-dev,但如果没有网络,就使用如上的源码下载即可。

2.Caused by SSLError(“Can‘t connect to HTTPS URL because the SSL module is not available.”)

当使用pip install安装python库时,这个错误不期而遇。网上有很多用yum或者apt-get安装openssl或者openssl-dev,不如用源码安装openssl,一次解决问题:

wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz --no-check-certificate 下载openssl1.1.1
tar -zxf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n
./config --prefix=/usr/local/openssl 
make -j && make install 
openssl version

安装完成后记得重新编译安装python:

./configure --prefix=/usr/local/python38 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
make && make install

3.ModuleNotFoundError: No module named ‘_bz2’

解决方法,安装bzip2和bzip2-devel后重新编译python:

yum install bzip2 bzip2-devel
./configure --prefix=/usr/local/python38 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
make && make install

4.sh: pod2html: command not found

yum install perl

5.autoreconf:command not find

yum  -y install autoconf automake libtool
yum -y install mpich*
echo "export PATH=$PATH:/usr/lib64/mpich/bin/" >> /root/.bashrc
source /root/.bashrc

6.ModuleNotFoundError: No module named ‘xxx’

pip install xxx

7.ERROR: No matching distribution found for typing-extensions

加上–no-deps治标不治本,缺少的typing-extensions也要安装。

pip install --no-deps xxxxx-cp37-cp37m-linux_x86_64.whl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1221787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子病历编辑器源码(Springboot+原生HTML)

一、系统简介 本系统主要面向医院医生、护士,提供对住院病人的电子病历书写、保存、修改、打印等功能。本系统基于云端SaaS服务方式,通过浏览器方式访问和使用系统功能,提供电子病历在线制作、管理和使用的一体化电子病历解决方案&#xff0c…

在 el-table 中嵌入 el-checkbox el-input el-upload 多组件,实现复杂业务场景

由于业务场景的复杂性,需实现:在 el-table 表格中 嵌入 el-checkbox 多选框 及 el-input 输入框 及 el-upload 上传组件 ,先附上实现效果图。 从图片可以看出其实就是一个规格可以带有多个属性的规格表,实现此效果需涉及到的知识点…

安装应用与免安装应用差异对比

差异 安装的程序和免安装的应用程序之间有以下几个方面的差别: 安装过程:安装的程序需要通过一个安装程序或安装脚本进行安装。这个过程通常会将应用程序的文件和依赖项复制到指定的目录,并进行一些配置和注册操作。免安装的应用程序则不需要…

vue监听对象属性值变化

一、官方文档 二、实现方法 方法一、直接根据watch来监听 export default {data() {return {object: {username: ,password: }}},watch: {object.username(newVal, oldVal) {console.log(newVal, oldVal)}} }方法二:利用watch和computed来实现监听 利用computed定…

HCL设备启动失败——已经解决

摸索了一个多小时,终于搞定了,首先HCL这款软件是需要安装Oracle VM Visual Box的,小伙伴们安装的时候记得点击安装Visual Box; 安装完后显示设备不能启动,然后我根据这个 HCL模拟器中Server设备启动失败的解决办法_hc…

电路综合-基于简化实频的集总参数电路匹配3-将任意阻抗用集总参数匹配至归一化阻抗

电路综合-基于简化实频的集总参数电路匹配3-将任意阻抗用集总参数匹配至归一化阻抗 前面的相关理论: 电路综合-基于简化实频的集总参数电路匹配1 电路综合-基于简化实频的集总参数电路匹配2-得出解析解并综合 理论这两个已经介绍过了,直接给出案例 代码…

用低代码平台开发应用

低代码一词,有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为它是企业管理模式的变革……有很多声音,社区讨论很热烈。 即使这样,至今也有不少人还不知道这项技术,今天笼统的介绍一下低代…

硬件开发笔记(十二):RK3568底板电路电源模块和RTC模块原理图分析

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134429973 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

基于协作mimo系统的RM编译码误码率matlab仿真,对比硬判决译码和软判决译码

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..................................................................... while(Err < TL…

B站批量取消关注

找到关注页面&#xff1a; 右键检查或者按F12进入开发者界面 然后选console&#xff0c;在页面下面输入下面jQuery代码&#xff0c;然后按回车。复制粘贴两次这一页的博主就能全部取消大概20个 然后刷新页面&#xff0c;接着粘贴两边代码&#xff0c;循环如此即可。 $(".…

SSH协议简介与使用

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议&#xff0c;可有效弥补网络中的漏洞。通过SSH&#xf…

Find My数据线|苹果Find My技术与数据线结合,智能防丢,全球定位

数据线是用来连接移动设备和电脑的&#xff0c;来达到数据传递或通信目的。通俗点说&#xff0c;就是连接电脑与移动设备用来传送视频、铃声、图片等文件的通路工具。现在&#xff0c;随着电子行业日新月异的发展&#xff0c;数据线已经成为了我们生活中不可或缺的部分&#xf…

4核8G服务器价格选择轻量还是CVM合适?

腾讯云服务器4核8G配置优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;腾讯云百科txybk.com分…

汇编-间接寻址(处理数组)

直接寻址很少用于数组处理&#xff0c;因为用常数偏移量来寻址多个数组元素时&#xff0c;直接寻址并不实用。取而代之的是使用寄存器作为指针(称为间接寻址(indirect addressing) ) 并控制该寄存器的值。如果一个操作数使用的是间接寻址&#xff0c; 就称之为间接操作数(indie…

【机器学习10】循环神经网络

1循环神经网络 RNN通过将神经元串行起来处理序列化的数据。 由于每个神经元能用它的内部变量保存之前输入的序列信息&#xff0c;因此整个序列被浓缩成抽象的表示&#xff0c; 并可以据此进行分类或生成新的序列。 2 循环神经网络的梯度消失或梯度爆炸问题 传统的循环神经网…

再学动态规划

先用一张图来理一下动态规划大纲 参考&#xff1a;https://www.zhihu.com/question/291280715/answer/1007691283 动态规划五个步骤 参考&#xff1a;https://www.zhihu.com/question/25814123 ①判断题目能否用动规解法 ②确定状态 最后一步 子问题 ③转移方程 ④确定初始条…

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A卷

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A卷 2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A卷A模块基础设施设置/安全加固&#xff08;200分&#xff09;A-1&#xff1a;登录安全加固&#xff08;Windows, Linux&#xff09;A-2&#…

图像分类系列(四) InceptionV2-V3学习详细记录

前言 上一篇我们介绍了Inception的原始版本和V1版本&#xff1a;经典神经网络论文超详细解读&#xff08;三&#xff09;——GoogLeNet学习笔记&#xff08;翻译&#xff0b;精读代码复现&#xff09; 这个结构在当时获得了第一名&#xff0c;备受关注。但InceptionV1是比较复…

【机器学习】 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)

1. 概念理解 逻辑回归&#xff0c;简称LR&#xff0c;它的特点是能够将我们的特征输入集合转化为0和1这两类的概率。一般来说&#xff0c;回归不用在分类问题上&#xff0c;但逻辑回归却能在二分类(即分成两类问题)上表现很好。 逻辑回归本质上是线性回归&#xff0c;只是在特…

机器学习中的独立和同分布 (IID):假设和影响

一、介绍 在机器学习中&#xff0c;独立和同分布 &#xff08;IID&#xff09; 的概念在数据分析、模型训练和评估的各个方面都起着至关重要的作用。IID 假设是确保许多机器学习算法和统计技术的可靠性和有效性的基础。本文探讨了 IID 在机器学习中的重要性、其假设及其对模型开…