Dependency untangling riddle
mojca at macports.org
Wed Feb 5 19:26:42 UTC 2020
On Wed, 5 Feb 2020 at 19:19, Ryan Schmidt wrote:
> On Feb 5, 2020, at 11:48, Vincent Habchi wrote:
> > So basically I have a long list of dependents to install, one (or more) of which itself/themselves depend(s) on python 3.7, at least in its/their default version(s). Since I don’t want to have python3.7 installed alongside python3.8, how can I find out (easily) which port(s) in the list is/are requiring python37?
> Just let MacPorts install what it wants to and the port should work. It is normal for ports to have dependencies on things that you don't otherwise wish to use yourself. That is ok.
> For some reason many port maintainers are selecting python37 when they need a python3. I wish they would use the latest stable version, python38, instead.
In probably all the cases the use of python37 rather than 38 is a sole
(A) nobody bothering to change that to 37 in that particular port (I'm
pretty sure some of my own ports still depend on python 3.7, but
there's no "dear macports, please tell me which ports I need to
(B) or maybe someone trying to change it, but eventually figuring out
that not all py38-* dependencies are available, and not being
proactive enough to try to change the full chain.
Last time I tried to upgrade buildbot to 3.8 it probably took me two
hours to fix all dependencies which were still missing support for
3.8, and once I did it, both master and worker on my machines became
broken (and it took me quite some time to figure out the reason)
because the launch file hardcodes python version, and one needs to
manually fix it and restart the service (as well as properly stop the
old one, which is not always straightforward). Not that any single
module care about whether it's running python 3.7 or 3.8, it's just
that historic reasons / too many ports have their own consequences.
That said, feel welcome to submit pull requests to update individual ports.
More information about the macports-users