Package: python3-numpy Depends: python3 (<< 3.9), python3 (>= 3.7~), python3.7:any, python3.8:any, python3:any, libblas3 | libblas.so.3, libc6 (>= 2.29), liblapack3 | liblapack.so.3, python3-pkg-resources
How can it possibly not be a bug that a single package depends on two different versions of the Python interpreter? How long can this situation persist until it qualifies as a bug? When the python3.7 package is no longer present in the standard repository, will it be a bug then? Either the package would work with any version of Python3 (as suggested by "python3:any") or it actually does require a specific version (as suggested by "python3 (>= 3.7~)" and "python3 (<< 3.9)"). It cannot possibly be dependent on two specific versions simultaneously. If this nonsensical dependency list was generated by some automated tool, then that tool is broken, and ought to be fixed. Forward the bug to that package, if appropriate, but this is clearly a bug in something, and should be fixed immediately. It is not acceptable that two different versions of Python3 must be simultaneously installed. > this is likely an artifact of shipping f2py3.7 and f2py3.8 with a > shebang referring directly to a versioned interpreter. that's always > been the case with multiple interpreters. -- then don't do that. Specify the interpreter as "/usr/bin/python3", and leave it at that. There obviously aren't any differences between them that would actually require different versions of the interpreter: $ diff /usr/bin/f2py3.{7,8} 1,2c1,2 < #!/usr/bin/python3.7 < # EASY-INSTALL-ENTRY-SCRIPT: 'numpy==1.17.4','console_scripts','f2py3.7' --- > #!/usr/bin/python3.8 > # EASY-INSTALL-ENTRY-SCRIPT: 'numpy==1.17.4','console_scripts','f2py3.8' 11c11 < load_entry_point('numpy==1.17.4', 'console_scripts', 'f2py3.7')() --- > load_entry_point('numpy==1.17.4', 'console_scripts', 'f2py3.8')() If it's a question of the interpreter itself behaving differently depending on the specific version, then have the f2py script check the version and complain if the one it wants is not present.