在heroku实例上安装PIL

2024-05-06

我创建了一个python-flask托管在heroku上的应用程序。我很有趣PILpython 中的图像库。我无法安装PIL在heroku实例中。

我尝试过以下几种方法。

方法一:

Added PIL=1.1.7 in requirements.txt这里我有例外

Some externally hosted files were ignored (use --allow-external PIL to allow).

方法2:

heroku run pip install PIL --allow-unverified=PIL --app=nava-app

这有助于安装PIL我收到了安装成功的消息。Successfully installed PIL Cleaning up... 但是,在我推送最新的代码后,我得到了import error for PIL。我已通过命令附加了下面的日志文件heroku logs --app=nava-app.

2014-08-07T09:54:28.997111+00:00 app[web.1]:     worker.init_process()
2014-08-07T09:54:28.997112+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 100, in init_process
2014-08-07T09:54:28.997113+00:00 app[web.1]:     self.wsgi = self.app.wsgi()
2014-08-07T09:54:28.997115+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 103, in wsgi
2014-08-07T09:54:28.997116+00:00 app[web.1]:     self.callable = self.load()
2014-08-07T09:54:28.997117+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 25, in load
2014-08-07T09:54:28.997118+00:00 app[web.1]:     return util.import_app(self.app_uri)
2014-08-07T09:54:28.997120+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 372, in import_app
2014-08-07T09:54:28.997121+00:00 app[web.1]:     __import__(module)
2014-08-07T09:54:28.997122+00:00 app[web.1]:   File "/app/app.py", line 5, in <module>
2014-08-07T09:54:28.997123+00:00 app[web.1]:     from test import draw
2014-08-07T09:54:28.997125+00:00 app[web.1]:   File "/app/test.py", line 10, in <module>
2014-08-07T09:54:28.997127+00:00 app[web.1]: ImportError: No module named PIL
2014-08-07T09:54:28.997126+00:00 app[web.1]:     from PIL import ImageFont
2014-08-07T09:54:28.997135+00:00 app[web.1]: 2014-08-07 09:54:28 [7] [INFO] Worker exiting (pid: 7)
2014-08-07T09:54:29.421102+00:00 app[web.1]: 2014-08-07 09:54:29 [2] [INFO] Shutting down: Master
2014-08-07T09:54:29.421211+00:00 app[web.1]: 2014-08-07 09:54:29 [2] [INFO] Reason: Worker failed to boot.
2014-08-07T09:54:31.583231+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=nava-app.herokuapp.com request_id=b1f72038-5c9c-4680-801e-8f6a87ab8829 fwd="103.6.158.181" dyno=web.1 connect=5000ms service= status=503 bytes=
2014-08-07T09:54:30.607109+00:00 heroku[web.1]: State changed from starting to crashed
2014-08-07T09:54:27.580747+00:00 heroku[web.1]: Starting process with command `gunicorn app:app --log-file -`
2014-08-07T09:54:30.594821+00:00 heroku[web.1]: Process exited with status 3
2014-08-07T09:54:41.551284+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=nava-app.herokuapp.com request_id=97b28fa4-e082-4887-8b5c-d088d006e569 fwd="103.6.158.181" dyno= connect= service= status=503 bytes=

方法三:

即使我尝试导入 PIL python 模块作为我的应用程序的一部分,例如第三方模块,它表明imaging C library not installed

你能帮我在heroku实例中安装PIL吗?


要安装 Pillow 和其他具有 C 依赖项的库,一种选择是使用 conda buildpack。 Heroku 在他们的文档中建议了这一点:Python C 依赖项 https://devcenter.heroku.com/articles/python-c-deps构建包可用here https://github.com/kennethreitz/conda-buildpack.

该文档提供了执行此操作的两个步骤。

  1. 将具有 C 依赖项的库分离到 conda-requirements.txt 文件中。在这种情况下,将 Pillow 从requirements.txt 移至conda-requirements.txt。
  2. 创建应用程序时使用 conda 构建包。

    heroku 创建 --buildpackhttps://github.com/kennethreitz/conda-buildpack.git https://github.com/kennethreitz/conda-buildpack.git

    heroku 创建 --buildpackhttps://github.com/kennethreitz/conda-buildpack.git https://github.com/kennethreitz/conda-buildpack.git

    如果要与现有应用程序一起使用,请改用以下内容。

    heroku 配置:添加 BUILDPACK_URL=https://github.com/kennethreitz/conda-buildpack.git https://github.com/kennethreitz/conda-buildpack.git

完成这些步骤后,就可以正常部署应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在heroku实例上安装PIL 的相关文章

随机推荐