Mutually exclusive argument groups cause issues in Python 3.12
In python 3.12, something seems to have changed in the way that argparse is handling the mutually exclusive groups in the parser that involve nonestr variables (e.g. the group containing prior-file
and prior-dict
). It would seem that the check must no longer identify the string "None"
as being the default and thus having both set as None
in the INI file---such as those produced by write_complete_config
will provoke the error from the parser that one has both of these arguments set---this is an ArgumentError
in the _parse_known_args
method that is then passed to the error
method for the parser for output and exiting. This will occur on all runs of bilby_pipe
---either immediately if running from a more complete file, or after the writing of the complete config file.
!620 provides an initial draft of a solution for this, by removing the mutually exclusive groups for these arguments and instead adding a dictionary that can be given to the parser that specifies which keys of a group to check for non-default values.