'Heroku is automatically upgrading python library to latest version [Docker container deploy]

Hello there i am trying to deploy a sample TensorFlow object-detection api application on Heroku using Heroku container my issue is that object-detection api uses version 2.4.2 of pyparsing but Heroku is automatically upgrading it to 3.0.9 which causes application to crash
I have confirmed library version on my local image and it is 2.4.2 (local image version)
but when i run bash Console on Heroku it shows version 3.0.9 (heroku pushed version)

As of docker file I have tried both

RUN pip3 install --no-cache-dir httplib2 \
               pyparsing==2.4.2

and

RUN pip3 install --upgrade --no-cache-dir pip && \
    pip3 install --no-cache-dir -r requirements.txt

requirements.txt:

httplib2 
pyparsing==2.4.2

due to this difference in library version my app crashes with error:

AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'

gist:: Complete Dockerfile and Error gist

I have also verified that any base docker layer is not updating that specific library.
So is there any way to make sure Heroku is using specified version of library available in docker image and not automatically update it ?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source