当前位置: 首页 > article >正文

No module named ‘_ssl‘ No module named ‘_ctypes‘

如果你使用的是基于 yum 的 Linux 发行版(例如 CentOS、RHEL、Fedora),安装 libc6-dev 的方式稍有不同。在这些系统中,通常对应的包是 glibc-devel

No module named ‘_ctypes’

使用 yum 安装 glibc-devel

  1. 更新系统的软件包列表:
    先更新系统的包列表,确保你能从最新的仓库中获取软件包。

    sudo yum update
    
  2. 安装 glibc-devel 包:
    glibc-devel 包包含了开发所需的 C 库文件和头文件,Python 的 ctypes 模块依赖它。

    sudo yum install glibc-devel
    
  3. 验证安装:
    安装完成后,你可以使用以下命令检查是否成功安装了 glibc-devel 包:

    rpm -q glibc-devel
    

    如果安装成功,你应该会看到类似于以下的输出:

    glibc-devel-2.28-151.el8_2.1.x86_64
    
  4. 检查 ctypes 是否正常工作:
    安装完成后,运行以下 Python 命令来检查 ctypes 模块是否能正常工作:

    python3 -c "import ctypes; print(ctypes.__file__)"
    

总结:

  • 使用 yum install glibc-devel 来替代 apt-get install libc6-dev,这适用于 CentOS、RHEL、Fedora 等使用 yum 包管理的 Linux 系统。
  • 验证安装通过 rpm -q glibc-devel 来检查。
  • 最后,通过 Python 测试确保 ctypes 正常工作。

No module named ‘_ssl‘
你现在的环境中,Python 3.11.1 已经安装并且可以正常使用(通过 python3 命令进入 Python 解释器)。如果你希望重新编译 Python 并且指定新的安装路径,应该选择合适的路径来避免冲突。

两个命令的区别:

  • --prefix=/usr/python3:将 Python 安装到 /usr/python3 目录。
  • --prefix=/usr/python:将 Python 安装到 /usr/python 目录。

推荐方案:

选择 /usr/python3 作为安装目录,避免与系统已有的 Python 发生冲突

因为 /usr/python 路径可能会与系统默认的 Python 安装路径冲突,特别是在系统已经安装了 Python 3.x 时。为了避免冲突,使用类似 /usr/python3 这样的路径来安装自定义版本的 Python。

重新编译 Python 的步骤:

  1. 配置 Python 编译选项

    • 确保 --prefix=/usr/python3(或其他自定义路径)指定一个新的路径,避免与系统 Python 冲突。
    • 使用 --with-openssl=/usr/local/openssl3 来指定 OpenSSL 的路径,确保 Python 使用正确的 OpenSSL 库。
    • --with-openssl-rpath=auto 用来自动设置运行时库路径。
    ./configure --prefix=/usr/python3 --with-openssl=/usr/local/openssl3 --with-openssl-rpath=auto
    
  2. 编译和安装 Python

    make
    sudo make altinstall  # 使用 altinstall 以避免覆盖系统默认的 python3
    

注意事项:

  • 为什么使用 altinstall 而不是 install
    altinstall 会避免覆盖系统的 python3 命令,因为如果使用 install,它会替换系统 Python,可能导致系统依赖问题。

  • 配置成功后,你可以使用 python3.11(或其他版本号)来执行新的 Python 版本,而不影响系统默认的 python

总结:

  • 推荐使用 --prefix=/usr/python3 来避免与系统默认的 Python 发生冲突。

  • 完整的命令应该是:

    ./configure --prefix=/usr/python3 --with-openssl=/usr/local/openssl3 --with-openssl-rpath=auto
    
  • 之后执行 makesudo make altinstall 安装。

  • No module named ‘_ssl‘
    https://blog.csdn.net/m0_69082030/article/details/142684956


http://www.kler.cn/a/429405.html

相关文章:

  • 【进程与线程】进程的状态
  • Android BottomNavigationView不加icon使text垂直居中,完美解决。
  • Ansible自动化运维:基础与实践
  • ecmascript:2.模版字符串
  • Go语言中http.Transport的Keep-Alive配置与性能优化方法
  • C#中的ref struct
  • 如何防范顶级应用程序安全威胁
  • 【大语言模型】LangChain ModelsIO与Models I/O Promopts详解
  • 【CKS最新模拟真题】Dockerfile修改
  • CTF-RE/WEB: python-Hook(钩子)
  • 电子信息工程自动化 基于单片机的居室安全报警系统
  • 为什么 JavaScript 中的回调函数未按顺序执行?
  • Pydantic 动态字段:使用和不使用 `@computed_field` 的对比指南
  • 如何使用 JavaScript 获取页面滚动位置?
  • Java项目实战II基于微信小程序的跑腿系统(开发文档+数据库+源码)
  • Hasura 中间件API go操作示例
  • 专为高性能汽车设计的Armv9架构的Neoverse V3AE CPU基础知识与软件编码特性解析
  • 管理系统前端框架开发案例学习
  • redis-stack redisSearch环境安装搭建
  • 记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009
  • 智创 AI 新视界 -- AI 引领下的未来社会变革预测(16 - 6)
  • DP协议:术语表
  • Vue 3初始化工程
  • 从模型到实际:人工智能项目落地的关键要素
  • 【深度学习】深刻理解BERT
  • 4.长度最小的子数组: