Propagating runtime dependencies to python packages?

I realize that there are a few topics out there tangentially related to this, but it appears that the this change to set strictDeps = true; for python packages has made a significant impact.

The tl;dr is that I’d love to know the most correct way to express a runtime dependency for a python application. It seems, based upon all my simple tests, that nativeBuildInputs, propagatedNativeBuildInputs, and similar attributes all don’t put a program into a package application’s $PATH. The only way I’ve been able to let a program see a dependency is to either use wrapProgram or create a small driver script that manually builds up $PATH before running the main executable.

Is this the right way to do this? Or is there some method I can use that can set this via one of the buildInputs type attributes?

You can also hardcode the path in the script with substituteInPlace

1 Like