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

将Django应用部署至AWS Elastic Beanstalk时requirements.txt报错求助

解决AWS Elastic Beanstalk部署时requirements.txt无效的问题及环境疑问

一、修复你的requirements.txt

你的requirements.txt包含了整个Anaconda环境的所有包,这是导致部署失败的核心原因——AWS Elastic Beanstalk只需要安装你的Django项目实际依赖的包,那些Anaconda专属工具(比如anaconda-navigator、jupyter、spyder等)完全不需要部署到服务器上,而且很多冗余包可能会引发pip安装冲突或失败。

你需要重新生成仅包含项目必要依赖的requirements.txt:

  1. 激活你用于开发Django项目的conda虚拟环境
  2. 清空当前的requirements.txt文件
  3. 运行以下命令生成精简的依赖列表:
    pip freeze > requirements.txt
    
    (如果你的环境里仍有大量无关包,建议创建一个全新的conda环境,仅安装Django及项目实际用到的依赖,再执行上述命令)

举个例子,你的项目核心依赖应该类似这样(可根据实际使用情况调整):

Django==2.0.4
django-appconf==1.0.2
django-bootstrap3==10.0.1
django-crispy-forms==1.7.2
django-environ==0.4.4
djangorestframework==3.8.2
requests==2.18.4
pytz==2018.4
SQLAlchemy==1.2.1

二、conda虚拟环境与EB虚拟环境的区别

不需要在conda虚拟环境内创建EB虚拟环境,二者完全不是同一概念:

  • conda虚拟环境:是你本地开发时用来隔离不同项目依赖的工具,仅在你的本地电脑生效,目的是避免不同项目的包版本冲突。
  • EB虚拟环境:是AWS Elastic Beanstalk在部署服务器上自动创建的Python虚拟环境,EB会在这个环境中安装你requirements.txt里的包,和你的本地conda环境没有直接关联。

部署时,你只需要确保本地开发环境的依赖和提交的requirements.txt一致即可,EB会自动在服务器上处理自身的虚拟环境,无需你手动在conda里配置EB相关环境。

重新生成精简的requirements.txt后,再执行eb deploy应该就能解决文件无效的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:13:46