palindromicity / dotifi

dotifi is a python package for creating graphviz dot files and images from Apache NiFi canvases
Apache License 2.0
7 stars 2 forks source link

Dotifi requirements.txt sets specific version of nipyapi, preventing upgrades #78

Open ChrisSamo632 opened 3 years ago

ChrisSamo632 commented 3 years ago

Describe the bug Installing dotifi alongside nipyapi (where nipyapi is installed already on a system/through the same requirements.txt) warns about mismatching dependency versions and that python/pip will prevent this in the future.

To Reproduce pip install -r requirements.txt

requirements.txt contains:

nipyapi>=0.16.2,<0.17 dotifi>=0.2.1,<1.0.0

Expected behavior pip install doesn't complain and all packages are installed.

Appreciate this is a little tricky because you can't guarantee that dotifi will remain compatible with future versions of nipyapi, but is it better to allow for a dependency to be "at least" a known-good version?

Desktop (please complete the following information):

Logs

    ERROR: Cannot install -r /usr/src/app/requirements.txt (line 3) and nipyapi<0.17 and >=0.16.2 because these package versions have conflicting dependencies.

    The conflict is caused by:
        The user requested nipyapi<0.17 and >=0.16.2
        dotifi 0.2.1 depends on nipyapi<0.15.0 and >=0.14.3

    To fix this you could try to:
    1. loosen the range of package versions you've specified
    2. remove package versions to allow pip attempt to solve the dependency conflict

    ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
    The command '/bin/sh -c pip install --no-cache-dir -r "${APP_DIR}/requirements.txt"' returned a non-zero code: 1