Python安装报错:”ModuleNotFoundError:No module named _ctypes“ 的解决方案

2023-11-11

目录

第一步:下载安装包

第二步:执行安装

1、创建存放目录

2、运行脚本configure

3、make编译make install安装 

4、最后运行make clean

第三步:创建软连接

总结安装过程

总结报错解决


第一步:下载安装包


# 下载地址:https://www.python.org/ftp/python/  

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 

tar -xzvf Python-3.7.1.tgz 

第二步:执行安装


1、创建存放目录

 mkdir /usr/local/python3  

2、运行脚本configure

configure是一个shell脚本,根据平台的特性生成Makefile文件,为下一步的编译做准备。可以通过在 configure 后加上参数来对安装进行控制,比如下面就是指定安装目录/usr/local/python3。如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,比较混乱。

例如我们执行如下命令:

cd Python-3.7.1 

./configure --prefix=/usr/local/python3 --with-ssl 

"--enable-optimizations"这个参数会启用配置文件引导的优化(PGO)和链接时间优化(LTO)。两者都是昂贵的优化,会减慢构建过程,但会显着提高速度(我记得阅读的内容大约有10-20%)。

./configure --enable-optimizations --prefix=/usr/local/python3

可以通过 ./configure --help 查看详细的说明帮助。

3、make编译make install安装 

※如果有需要,会进行 make depend(一种makefile的规则,通过扫描一个目录下的所有C\C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include<b.h>),如果之后a.cc文件被改动,那么只需要重新编译a.cc文件,不需要编译b.h文件。否则所有的文件都需要重新编译)

从Makefile中读取指令,根据makefile制定的规则,将c\c++文件编译成*.o文件,然后进一步生成可执行文件。大多数的源代码包都经过这一步进行编译,(当然有些perl或python编写的软件需要调用perl或python来进行编译)。

 make && make altinstall 

注意:如果 在make过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

4、最后运行make clean

删除一些临时文件(删除源代码(C\C++ code)生成的执行文件和所有的中间目标文件)

第三步:创建软连接


​
[root@localhost local] ln -s /usr/local/python3/bin/python3 /usr/bin/python3

[root@localhost local] ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

最后运行python3查看是否安装成功

[root@localhost local] python3

总结安装过程


绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件

./configure  # 检查编译环境/相关库文件/配置参数,生成makefile

make       # 对源代码进行编译,生成可执行文件

make install  # 将生成的可执行文件安装到当前计算机中特点;

兼容性好/可控制性好/开源软件会大量使用其他开源软件的功能,要解决大量的依赖关系

总结报错解决


问题一:安装时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

1、执行如下命令:

yum install libffi-devel 

2、从"./configure ..."重新安装

问题二:pip3 install时报错“pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.”

先安装openssl-dev,然后重新编译安装,只是在编译的过程中加入 --enable-optimizations

ubuntu:

sudo apt-get install libffi-dev

或者

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo apt-get install build-essential python-dev python-setuptools python-pip python-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

centos7

yum install libffi-devel -y

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python安装报错:”ModuleNotFoundError:No module named _ctypes“ 的解决方案 的相关文章

随机推荐

  • 大厂经验(一):一套 Web 自动曝光埋点技术方案

    阿里云数据中台官网 https dp alibaba com index 作者 qingliang hu 关联阅读 大厂经验 二 多端可视化埋点解决方案 前言 首先在介绍这套方案前 咱们还是简单地普及一下 埋点 这个名词 埋点是指在各个终端
  • MATLAB学习之random函数

    randn 产生正态分布的随机数或矩阵的函数 randn 产生均值为0 方差 2 1 标准差 1的正态分布的随机数或矩阵的函数 用法 Y randn n 返回一个n n的随机项的矩阵 如果n不是个数量 将返回错误信息 Y randn m n
  • Ubuntu开启或重启ssh服务

    开启ssh服务首先需要安装打开ssh服务的库 sudo apt get install openssh server 检查当前的ssh开启情况 ps e grep ssh 如果有sshd 则ssh server已经启动 若仅有agent 则
  • [FPGA里程碑事件:FPGA技术发展历程]

    FPGA里程碑事件 FPGA技术发展历程 自从FPGA Field Programmable Gate Array 技术问世以来 它已经获得了广泛的应用 并且在各个领域都扮演着重要的角色 FPGA作为一种可编程器件 具有高度的灵活性和可重配
  • nltk-比较中文文档相似度-完整实例

    nltk同时也能处理中文的场景 只要做如下改动 使用中文分词器 如我选用了结巴分词 对中文字符做编码处理 使用unicode编码方式 python的源码编码统一声明为 gbk 使用支持中文的语料库 代码如下 需要jieba的支持 usr b
  • 华为智能手环智能手表软件测试,Huawei WatchFace Designer(华为手表表盘开发工具) V10.0.1.16 官方测试版...

    Huawei WatchFace Designer是华为自主研发的基于PC端的华为手表手环表盘设计编辑软件 目前本软件支持华为WATCH GT系列运动手表 Band系列智能手环表盘制作 操作说明 设计师可以通过菜单 文件 新建 创建表盘并编
  • 类和对象学习——构造方法!

    类和对象学习 构造方法 我们自己定义一个类 是为了创建这个类的对象 然后调用该类中方法 执行一系列代码 实现我们要的程序功能 我们创建这个类的对象怎么创建的 new 类的对象名 1 无参构造 用类名 做方法名的方法 是构造方法 1 什么是构
  • 大数据专栏-Hive插入数据时长时间卡住的问题分析过程及原因

    最近在进行hive案例教学时 某一个学生出现了一个很奇怪的问题 前期hadoop和hive的平台搭建没有任何问题 在hive建表练习时 前几次也是正常进行 但是在进行分组聚合时 出现了问题 问题现象 1 通过分组聚合查询 把查询结果插入到另
  • 一篇SSM框架整合友好的文章(一)

    2016 12 18 21 47 517人阅读 评论 0 收藏 举报 分类 java 16 版权声明 本文为博主原创文章 欢迎转载 转载请注明作者 原文超链接 博主地址 http blog csdn net forezp 目录 转载请标明出
  • 网络安全之DDos攻击

    一 DDoS 攻击究竟是什么 DDoS 攻击 全称是 Distributed Denial of Service 翻译成中文就是分布式拒绝服务 一般来说是指攻击者利用 肉鸡 对目标网站在较短的时间内发起大量请求 大规模消耗目标网站的主机资源
  • 高精度算法【加减乘除】

    全文目录 前言 高精度加法 操作步骤 代码模板 高精度减法 操作步骤 代码模板 高精度乘法 操作步骤 代码模板 高精度除法 操作步骤 代码模板 前言 在实际应用中 语言提供的数据类型的最大值或最小值可能不足以支撑我们所进行的运算 这时会导致
  • 论文写作参考文献 期刊标准缩写

    写论文时 经常疑惑参考文献的缩写是什么 反复的查看别人的参考格式 很麻烦 有参考文献期刊缩写大全方便了不少 Content is based on IEEEfull bib and IEEEabrv bib as of 2016 03 25
  • python中argparse

    关于argparse网上的资料好多 搞明白后自己整理下 方便以后查看 argparse 是python自带的命令行参数解析包 可以用来方便地读取命令行参数 它的使用也比较简单 1 基本框架 下面是采用argparse从命令行获取用户名 该p
  • centos7 pip2升级失败解决方法

    centos7 默认python版本是2 7 所以安装的pip也要支持py2 yum install python2 pip y 安装之后默认版本较低 pip 8 1 2 在提示升级时 可能会遇到我这种错误 pip install upgr
  • ssh+vscode remote显示x11

    本教程环境为 windows主机上安装vscode远程连接ubuntu linux服务器做开发 在vscode里面添加ssh主机即可实现远程开发 在服务器上需要安装相应的扩展 实现方法如下 step1 本地windows安装上x11显示软件
  • vue uniapp等动态添加类名

    1 对象形式 p 对象的形式 文字的颜色 p 2 对象形式 p 对象的形式 文字的颜色 p 3 三元表达式 p 三元表示式 文字的颜色 p 4 数组形式 p 数组的形式 文字的颜色 p 5 数组对象形式 p 数组中使用对象 文字的颜色 p
  • VSCode 搭建 STM32开发环境

    首先附上一张VS Code图 一直都喜欢这种 黑色主题感觉高大上 因为公司准备上市 所以不能使用Keil开发了 在这之前有在Linux上开发过STM32 于是想着在Windows上也搭建一个 这样方便跨平台 于是决定搭建一个用VSCode
  • 让你能进“大厂”的数据分析项目是长怎样?全套路线(建议收藏)

    算法 数据结构 全套路线 建议收藏 前言 所谓活到老 学到老 虽然我感觉自己已经学了很多算法了 但是昨天熬夜整理完以后发现 自己还是个弟弟 实在忍不住了 打算把 算法学习路线 发出来 我把整个算法学习的阶段总结成了五个步骤 分别为 基础语法
  • NLP模型笔记2022-09:hanlp所有预训练模型API接口使用

    目录 1 找出所有预训练模型 为后续训练模型准备 2 如何使用上述模型 2 1 以分词模型为案例 2 2 以分词 词性 实体识别 句法模型为统一的模型 参考文献 HanLP2 1支持包括简繁中英日俄法德在内的104种语言上的10种联合任务
  • Python安装报错:”ModuleNotFoundError:No module named _ctypes“ 的解决方案

    目录 第一步 下载安装包 第二步 执行安装 1 创建存放目录 2 运行脚本configure 3 make编译make install安装 4 最后运行make clean 第三步 创建软连接 总结安装过程 总结报错解决 第一步 下载安装包