You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu生成的requirements.txt在RHEL 8安装失败,求可行解决办法

可行解决方案

1. 调整包版本适配Python 3.6

Python 3.6已停止维护,aiosignal==1.3.1这类新版本包不再支持该版本。你可以:

  • 逐个核实报错包的兼容版本:比如aiosignal支持Python 3.6的最高版本为1.2.0,将requirements.txt中的对应条目改为aiosignal==1.2.0
  • 执行pip install -r requirements.txt --upgrade,让pip自动选择适配当前环境的包版本,但需注意这可能导致部分包降级,要验证应用兼容性

2. 启用RHEL 8扩展仓库

RHEL 8默认仓库缺少部分Python包的编译依赖,启用以下仓库可解决多数包获取或编译失败问题:

  • 安装EPEL仓库:sudo dnf install epel-release
  • 启用CodeReady Builder仓库:sudo dnf config-manager --set-enabled codeready-builder-for-rhel-8-x86_64-rpms
  • 安装编译基础依赖:sudo dnf install python3-devel gcc gcc-c++ make
    完成后重新尝试执行pip install -r requirements.txt

3. 在独立虚拟环境中升级Python版本

不要改动RHEL 8自带的系统Python,通过Miniconda创建独立环境安装更高版本Python:

  • 下载适配RHEL 8的Miniconda3安装脚本
  • 运行脚本完成安装:bash Miniconda3-latest-Linux-x86_64.sh,按提示操作
  • 创建指定Python版本的虚拟环境:conda create -n myapp-env python=3.9
  • 激活环境:conda activate myapp-env
  • 在环境内安装依赖:pip install -r requirements.txt

4. 源码编译安装缺失包

对于无法通过pip直接获取的包,手动下载源码编译安装:

  • 下载包的源码:pip download aiosignal==1.3.1 --no-binary :all:
  • 解压源码包:tar -xzf aiosignal-1.3.1.tar.gz && cd aiosignal-1.3.1
  • 编译并安装:python setup.py install

5. 容器化部署

直接使用Ubuntu容器镜像运行应用,保持与原开发环境一致:

  • 创建Dockerfile:
    FROM ubuntu:20.04
    COPY requirements.txt /app/
    WORKDIR /app
    RUN apt update && apt install -y python3-pip
    RUN pip3 install -r requirements.txt
    COPY ./your-app-code /app/
    CMD ["python3", "main.py"]
    
  • 构建镜像:docker build -t my-app .
  • 运行容器:docker run my-app

内容的提问来源于stack exchange,提问作者xyz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:23:23