Re: [Distutils] PEP for dependencies on libraries like BLAS
Hi all, Sorry for the necropost :) "Life" has been happening and I wasn't monitoring the discussion of the dependency PEP for a while. I have been reviewing the discussion here. I thought I'd clear up a few things from my perspective. Regarding practical examples: https://youtu.be/Fqknoni5aX0?list=PLs4CJRBY5F1KMMpoEWMuBRvHvjBJeAJoS&t=371 Here is Lex Hider demonstrating some of the issues he faced. I don't think he ran into BLAS issues as such, but it shows how much work can be required to install some packages. At some point I should take a transcript of this and write it up as a post, and adjust the PEP to use this as a real-world motivating argument to remove argument about whether the underlying problem of external dependencies is a 'real' problem or not. I fully agree it is important to have a genuine example, and that would be a big improvement. Regarding the connection to yum/deb/conda etc, my initial thought was actually to specify package names rather than header files, but I was convinced that supplying the missing header files was ultimately more useful. This is, in part, because library names are more consistent than package names across systems. On the other hand, I was still uncertain about what happens if two libraries have the same name but different functionality, you might want to refer to the package name instead. Regarding whether this is a maintenance nightmare for authors who need to understand a complex set of deploy environments. I don't really think so. Typically, an author will have one 'primary' environment, often a Linux platform, which will tend to 'just work' because the author is working in that framework. Often, it's only a small number of dependencies that need to be declared, and it's about giving package authors a 'release valve' to manually handle exceptions where there are package issues. Regarding 'boil the ocean' -- I think that's only true when this PEP is taken to be trying to "solve all dependency interactions". In fact, it's more about letting authors handle common, known issues on specific platforms. That's my view anyway. I know if I had this for my packages, just having one or two of these declared would handle a lot of problems.
participants (2)
-
Reinout van Rees
-
Tennessee Leeuwenburg