<p dir="ltr">On Nov 2, 2016 9:52 AM, "Nick Coghlan" <<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>> wrote:<br>
><br>
[...]<br>
> Aside from already needing a Python runtime, the inability to fully<br>
> specify the target environment isn't an inherent design limitation<br>
> though, the solution just looks different at a pip level:<br>
><br>
> - you need a system for specifying environmental *constraints* (like<br>
> dynamically linked C libraries and command line applications you<br>
> invoke)<br>
> - you need a system for asking the host environment if it can satisfy<br>
> those constraints<br>
><br>
> Tennessee Leeuwenberg started a draft PEP for that first part last<br>
> year: <a href="https://github.com/pypa/interoperability-peps/pull/30/files">https://github.com/pypa/interoperability-peps/pull/30/files</a><br>
><br>
> dnf/yum, apt, brew, conda, et al all *work around* the current lack of<br>
> such a system by asking humans (aka "downstream package maintainers")<br>
> to supply the additional information by hand in a platform specific<br>
> format.</p>
<p dir="ltr">To be fair, though, it's not yet clear whether such a system is actually possible. AFAIK no one has ever managed to reliably translate between different languages that Linux distros use for describing environment constraints, never mind handling the places where they're genuinely irreconcilable (e.g. the way different distro openssl packages have incompatible ABIs), plus other operating systems too.</p>
<p dir="ltr">I mean, it would be awesome if someone pulls it off. But it's possible that this is like saying that it's not an inherent design limitation of my bike that it's only suited for terrestrial use, because I could always strap on wings and a rocket...</p>
<p dir="ltr">-n</p>