Failed to build these modules: _ctypes && Failed to build these modules: _curses

问题描述

本人今天在编译Python代码时遇到了这样的问题,过程大概是先用wget指令下载Python对应版本的源代码,然后用tar指令解压缩,之后cd到解压后得到的源代码目录下执行命令./config进行预编译,然后在make编译,之后通过make install命令安装,整个过程可以参考这篇博客
期间遇到了OpenSSL的报错

Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_P

你需要参考其他博客或者这篇,个人感觉我看的这篇里面的一些什么软连接之类的操作既看不懂也没啥必要,我没管也操作好了,我们主要是一个目的:下载和安装OpenSSL,个人认为比较重点是以下截图的几步:
在这里插入图片描述
之后我们就可以通过openssl version指令直接在控制台查看openssl的版本了。问题就出在接下来make 的时候,新报错是

Failed to build these modules: 
_ctypes 
or
Failed to build these modules: 
_curses

在这里插入图片描述

如何解决这个问题的

参考博客一博客二,归纳一下
需要运行一个全体安装的指令。下面的指令一个都不能少:

sudo apt-get update
 
sudo apt-get upgrade
 
sudo apt-get dist-upgrade
 
sudo apt-get install build-essential python3-dev python3-setuptools python3-pip python3-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

sudo apt-get install libffi-dev libbz2-dev libncursesw5-dev 
sudo apt-get install libgdbm-dev python-lzma liblzma-dev libsqlite3-dev 
sudo apt-get install  tk-dev uuid-dev libreadline-dev

根据博客二,我们有这样的了解:

本人验证,每一个模块对应的安装包名(sudo apt-get install 安装包名)如下
模块_ctypes,安装包名libffi-dev
模块_bz2,安装包名libbz2-dev
模块_curses和_curses_panel,安装包名libncursesw5-dev
模块_dbm和_gdbm,安装包名libgdbm-dev
模块_lzma,安装包名python-lzma和liblzma-dev
模块_sqlite3,安装包名libsqlite3-dev
模块_tkinter,安装包名tk-dev
模块_uuid,安装包名uuid-dev
模块readline,安装包名libreadline-dev
————————————————
版权声明:本文为CSDN博主「shenweihong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shenweihong/article/details/123541087

直呼作者大佬,全部执行以后再从make clean./configure开始,而不是从make指令开始,不要偷懒,知道吗?
那么我们依次再执行make clean->./configure --prefix=/usr/local/python3 -> make -j4 -> make install
(注:./configure--prefix参数是用于指定安装目录的,可根据需要添加)
成功编译,成功安装,最后可以通过指令python --version指令查看成功安装的python版本。
至此完结撒花!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值