Cloud Foundry部署Django应用时Pillow安装失败问题求助
问题
将Django应用上传至Cloud Foundry平台时,构建阶段(python_buildpack)因Pillow安装失败报错,相关配置及错误信息如下:
配置文件
manifest.yml
applications: - name: onlinecourse routes: - route: madhavatreya.au-syd.cf.appdomain.cloud memory: 128M buildpack: python_buildpack - name: onlinecourse-nginx routes: - route: madhavatreya.au-syd.cf.appdomain.cloud/static memory: 128M buildpack: staticfile_buildpack
Procfile
web: gunicorn myproject.wsgi
Django配置
ALLOWED_HOSTS = ['*']
错误信息
Running setup.py install for Pillow: started
Running setup.py install for Pillow: finished with status 'error'
error: subprocess-exited-with-error
× Running setup.py install for Pillow did not run successfully.
│ exit code: 1
╰─> [164 lines of output]
running install
解决方法
- 指定兼容的Pillow版本:Cloud Foundry的python_buildpack环境对新版本Pillow的编译支持可能不足,在
requirements.txt中明确指定一个低版本兼容包,比如Pillow==9.5.0,该版本对编译环境要求较低,适配多数Cloud Foundry运行环境。 - 使用预编译wheel包安装:跳过源码编译步骤,在
requirements.txt开头添加强制使用二进制包的声明,避免编译依赖问题:
这样python_buildpack会直接下载预编译的wheel包完成安装。--only-binary :all: Pillow - 提升构建内存配额:当前配置的128M内存可能不足以支撑Pillow的编译过程,将
onlinecourse应用的memory调整为256M或更高:memory: 256M - 声明系统依赖库:若必须使用源码编译,在
requirements.txt中添加系统依赖声明,让python_buildpack自动安装编译所需的库:cf-system-requirements: libjpeg-dev,zlib1g-dev
内容的提问来源于stack exchange,提问作者raghav
相关产品推荐
相关产品推荐

