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

安装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.11colorama==0.4.6distlib==0.3.6distro==1.8.0msgpack==1.0.4packaging==21.3platformdirs==2.6.2pyparsing==3.0.9pyproject-hooks==1.0.0requests==2.28.2certifi==2022.12.07chardet==5.1.0idna==3.4urllib3==1.26.14rich==12.6.0 (Unable to locate actual module version, using vendor.txt specified version)pygments==2.13.0typing_extensions==4.4.0 (Unable to locate actual module version, using vendor.txt specified version)resolvelib==0.8.1setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)six==1.16.0tenacity==8.1.0 (Unable to locate actual module version, using vendor.txt specified version)tomli==2.0.1webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 543cp38-cp38-manylinux_2_28_x86_64cp38-cp38-manylinux_2_27_x86_64cp38-cp38-manylinux_2_26_x86_64cp38-cp38-manylinux_2_25_x86_64cp38-cp38-manylinux_2_24_x86_64cp38-cp38-manylinux_2_23_x86_64cp38-cp38-manylinux_2_22_x86_64cp38-cp38-manylinux_2_21_x86_64cp38-cp38-manylinux_2_20_x86_64cp38-cp38-manylinux_2_19_x86_64cp38-cp38-manylinux_2_18_x86_64cp38-cp38-manylinux_2_17_x86_64cp38-cp38-manylinux2014_x86_64cp38-cp38-manylinux_2_16_x86_64cp38-cp38-manylinux_2_15_x86_64cp38-cp38-manylinux_2_14_x86_64cp38-cp38-manylinux_2_13_x86_64cp38-cp38-manylinux_2_12_x86_64cp38-cp38-manylinux2010_x86_64cp38-cp38-manylinux_2_11_x86_64cp38-cp38-manylinux_2_10_x86_64cp38-cp38-manylinux_2_9_x86_64cp38-cp38-manylinux_2_8_x86_64cp38-cp38-manylinux_2_7_x86_64cp38-cp38-manylinux_2_6_x86_64cp38-cp38-manylinux_2_5_x86_64cp38-cp38-manylinux1_x86_64cp38-cp38-linux_x86_64cp38-abi3-manylinux_2_28_x86_64cp38-abi3-manylinux_2_27_x86_64cp38-abi3-manylinux_2_26_x86_64cp38-abi3-manylinux_2_25_x86_64cp38-abi3-manylinux_2_24_x86_64cp38-abi3-manylinux_2_23_x86_64cp38-abi3-manylinux_2_22_x86_64cp38-abi3-manylinux_2_21_x86_64cp38-abi3-manylinux_2_20_x86_64cp38-abi3-manylinux_2_19_x86_64cp38-abi3-manylinux_2_18_x86_64cp38-abi3-manylinux_2_17_x86_64cp38-abi3-manylinux2014_x86_64cp38-abi3-manylinux_2_16_x86_64cp38-abi3-manylinux_2_15_x86_64cp38-abi3-manylinux_2_14_x86_64cp38-abi3-manylinux_2_13_x86_64cp38-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 beeninstalled 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 packagefor 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.hqwc.cn/news/189009.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAC电脑连接外接显示屏,颜色显示有问题,又粉、紫色蒙版,问题处理(1)

问题描述 买了一个显示器,想给mac做分屏使用,结果连上之后发现,整个屏幕像是被蒙上了一层紫色的蒙版。 就像下面展示的一样: 解决 将显示器颜色空间改为RGB颜色空间即可。 打开显示器菜单,找到颜色空间选项&#…

计算机毕业设计选题推荐-高校后勤报修微信小程序/安卓APP-项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

nacos客户端连接服务端报Client not connected, current status:STARTING

说明&#xff1a; nacos服务端版本&#xff1a;v2.1.2 nacos客户端版本&#xff1a;2.1.2 结果启动项目报错&#xff1a; Client not connected, current status:STARTING 解决&#xff1a; 降低客户端版本至 1.4.1 就Ok了 <dependency><groupId>com.alibaba.naco…

解决Error:java: System Java Compiler was not found in classpath

解决Error:java: System Java Compiler was not found in classpath 一、配置maven 注意:我的C盘比较大直接配置在了C盘&#xff0c;建议配置到其他盘&#xff0c;记得做maven环境变量配置 二、卸载本地JDK&#xff0c;换个版本安装配置环境变量 重启电脑或idea&#xff0c;…

2023年11月11日~11月17日周报(基于matlab生成模拟数据、批量修改文件名、重写dataset)

目录 一、前言 二、基于matlab生成模拟数据 二、批量修改文件名 三、代码调试 四、重写dataset 一、前言 上周完成了FCNVMB的训练与测试&#xff0c;但是由于数据量较少&#xff0c;训练效果不明显。工作站运行forward.py代码生成模拟数据的时候出现错误&#xff0c;未解决…

数字化时代,VR全景如何助力商企抢占市场份额?

随着5G技术的逐步落地&#xff0c;VR全景已经开始逐渐被应用到各行各业中了&#xff0c;VR餐饮、VR房产、VR景区、VR工厂、VR学校、VR博物馆等等&#xff0c;甚至大家所熟悉的汽车之家中的全景看车、贝壳和链接的全景看房等&#xff0c;所应用的都是VR全景的形式。 前几年电商对…

各机构如何加强网络渗透、“渗透”防御

数据渗透&#xff0c;例如黑客攻击和“渗透”&#xff0c;或未经授权的信息传输。 联邦调查局、国家安全局以及网络安全和基础设施安全局最近的联合报告证明&#xff0c;网络安全仍然是当今国防部门面临的两个最大的网络威胁。 所谓的零日攻击尤其有害&#xff0c;因为组织在…

单因素方差分析(one-way analysis of variance)【R实现,用例题帮你更好理解】

1, data00403 thorax 是四种昆虫的胸长&#xff0c;采用合适的统计方法&#xff0c;检验不同种类的 胸长有无差异&#xff1f;如果有差异&#xff0c;哪种之间有差异&#xff1f;&#xff08;说明选用依据&#xff09; #看样本量&#xff0c;n1n2n3n428 #看方差齐性。各组之间符…

基于Pytorch的从零开始的目标检测

引言 目标检测是计算机视觉中一个非常流行的任务&#xff0c;在这个任务中&#xff0c;给定一个图像&#xff0c;你预测图像中物体的包围盒(通常是矩形的) &#xff0c;并且识别物体的类型。在这个图像中可能有多个对象&#xff0c;而且现在有各种先进的技术和框架来解决这个问…

用Java实现贪吃蛇小游戏

一、创建新项目 首先创建一个新的项目&#xff0c;并命名为贪吃蛇。 其次在贪吃蛇项目下创建一个名为images的文件夹用来存放游戏相关图片。 然后再在项目的src文件下创建一个com.xxx.view的包用来存放所有的图形界面类&#xff0c;创建一个com.xxx.controller的包用来存放启…

nginx学习(2)

Nginx 反向代理案例2 1. 实现效果 实现效果&#xff1a;使用 nginx 反向代理&#xff0c;根据访问的路径跳转到不同端口的服务中 nginx 监听端口为 8001&#xff0c; 访问 http://127.0.0.1:8001/edu/ 直接跳转到 127.0.0.1:8081 访问 http://127.0.0.1:8001/vod/ 直接跳转到 …

第六十二周周报

学习目标&#xff1a; 一、实验 二、论文 学习时间&#xff1a; 2023.11.11-2023.11.17 学习产出&#xff1a; 实验 1、CB模块实验效果出来了&#xff0c;加上去效果不太行&#xff0c;后续实验考虑是否将CB模块换到其他地方 2、CiFAR100实验已完成&#xff0c;效果比Vi…