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

如何在Amazon Linux2的EC2实例上为Flask应用安装带--no-cache-dir的tensorflow

问题核心原因

AWS EC2默认部署流程执行pip install -r requirements.txt时会开启缓存机制,TensorFlow安装包体积大,缓存过程会占用大量内存,触发小配置实例的内存溢出错误。requirements.txt原生不支持直接配置全局pip参数,可通过以下几种方案解决:

可行解决方案

方案1:单包指定无缓存安装(pip 19.0+支持)

直接在requirements.txt的TensorFlow依赖行末尾追加--no-cache-dir参数即可,示例写法:

# requirements.txt 内容示例
flask==2.3.3
gunicorn==21.2.0
tensorflow==2.15.0 --no-cache-dir

该语法仅对当前行的依赖生效,不会影响其他包的安装逻辑。

方案2:全局配置pip默认禁用缓存

如果你的部署环境pip版本低于19.0不支持单包参数,可以通过配置文件全局开启无缓存安装:

  • 方式A:在项目根目录新建pip.conf文件,写入以下内容:
    [global]
    no-cache-dir = true
    
    部署时pip会自动读取该配置,所有依赖安装全程不使用缓存。
  • 方式B:如果使用AWS Elastic Beanstalk 进行门户部署,在项目根目录新建.ebextensions/pip.config配置文件,写入以下内容自定义安装命令:
    container_commands:
      01_upgrade_pip:
        command: "source /var/app/venv/*/bin/activate && pip install --upgrade pip"
      02_install_deps:
        command: "source /var/app/venv/*/bin/activate && pip install -r requirements.txt --no-cache-dir"
    

方案3:降低安装包内存占用

如果实例配置低于1G内存,建议直接替换完整版TensorFlow为轻量CPU版本,进一步降低安装时的内存消耗:

# 替换requirements.txt中原有的tensorflow依赖
tensorflow-cpu==2.15.0 --no-cache-dir

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:54:03