1

I am trying to deploy my first project on Heroku and having an issue trying to install Exiftools on Heroku. My site is highly dependent on using ExifField within my models to get image information from pictures which is then displayed within my Django Admin to be edited etc. This all works fine locally in development.

Exiffield relies on Exiftool.exe to work, so I have to install a buildpack to Heroku which I have done, but it fails to see it during release when pushing to Heroku via CLI. All Django modules have installed OK.

I have added Procfile , requirements, runtime and everything seems to go OK, it even states it's intalled Exiftool but fails on release. Log below. Any help would be greatly appreciated.

I was thinking it was issue with Procfile but it seems correct.

release: python manage.py migrate
   web: gunicorn blog.wsgi
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 375 bytes | 375.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Using buildpacks:
remote:        1. heroku/python
remote:        2. https://github.com/benalavi/buildpack-exiftool
remote: -----> Python app detected
remote: -----> Using Python version specified in runtime.txt
remote:  !     Python has released a security update! Please consider upgrading to python-3.9.10
remote:        Learn More: https://devcenter.heroku.com/articles/python-runtimes
remote: -----> No change in requirements detected, installing from cache
remote: -----> Using cached install of python-3.9.0
remote: -----> Installing pip 21.3.1, setuptools 57.5.0 and wheel 0.37.0
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote: -----> Skipping Django collectstatic since the env var DISABLE_COLLECTSTATIC is set.
remote: -----> exiftool app detected
remote: -----> Installing exiftool-9.40
remote:        Setting PATH
remote: -----> Discovering process types
remote:        Procfile declares types -> release, web
remote:
remote: -----> Compressing...
remote:        Done: 80.4M
remote: -----> Launching...
remote:  !     Release command declared: this new release will not be available until the command succeeds.
remote:        Released v37
remote:        https://********.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
remote: Running release command...
remote:
remote: SystemCheckError: System check identified some issues:
remote:
remote: ERRORS:
remote: myblog.Photo.exif: (exiffield.E001) `exiftool` not found.
remote:         HINT: Please install `exiftool.`
remote: Waiting for release... failed.
To https://git.heroku.com/******.git
   7281f6e..bf1bc47  master -> master
ChrisGPT was on strike
  • 127,765
  • 105
  • 273
  • 257
Rob
  • 46
  • 3
  • Note that you only need to indent _or_ fence code blocks. If you do both you'll get unexpected results. – ChrisGPT was on strike Feb 20 '22 at 13:19
  • Is it in your requirements.txt? – Kovy Jacob Feb 20 '22 at 13:19
  • I don't think this is relevant, but normally your main buildpack (Python in this case) [should be _last_](https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app#adding-a-buildpack), not first. **Edit:** Actually, maybe that _is_ relevant. Depending how `PATH` gets set, your Python code might not see the new value yet. Try reordering your buildpacks. – ChrisGPT was on strike Feb 20 '22 at 13:20
  • @KovyJacob, that's not relevant here. Libraries are being installed just fine. And `exiftool` is not installable via `pip`, hence the second buildpack OP is using. – ChrisGPT was on strike Feb 20 '22 at 13:21
  • @Chris Just wondering cuz it says Installing exiftool-9.40, thought the - is a bit sus – Kovy Jacob Feb 20 '22 at 13:22
  • I didn't think it would be needed in requirements, django-exiffield==3.0.0, is indeed included, though. – Rob Feb 20 '22 at 13:30
  • I swapped the buildpacks over and still the same result. I'm stumped. – Rob Feb 20 '22 at 13:39

0 Answers0