diff --git a/freqtrade/commands/arguments.py b/freqtrade/commands/arguments.py index 432bf4299..d0bad4567 100755 --- a/freqtrade/commands/arguments.py +++ b/freqtrade/commands/arguments.py @@ -347,7 +347,7 @@ class Arguments: self.parser = ArgumentParser( prog="freqtrade", description="Free, open source crypto trading bot" ) - self._build_args(optionlist=["version"], parser=self.parser) + self._build_args(optionlist=["version_main"], parser=self.parser) from freqtrade.commands import ( start_analysis_entries_exits, diff --git a/freqtrade/commands/cli_options.py b/freqtrade/commands/cli_options.py index 54cd56e52..5dab923f3 100755 --- a/freqtrade/commands/cli_options.py +++ b/freqtrade/commands/cli_options.py @@ -59,8 +59,13 @@ AVAILABLE_CLI_OPTIONS = { "version": Arg( "-V", "--version", - action="version", - version=f"%(prog)s {__version__}", + action="store_true", + ), + "version_main": Arg( + # Copy of version - used to have -V available with and without subcommand. + "-V", + "--version", + action="store_true", ), "config": Arg( "-c", diff --git a/freqtrade/main.py b/freqtrade/main.py index bd815b746..d4aab3468 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -18,7 +18,7 @@ from freqtrade.commands import Arguments from freqtrade.constants import DOCS_LINK from freqtrade.exceptions import ConfigurationError, FreqtradeException, OperationalException from freqtrade.loggers import setup_logging_pre -from freqtrade.system import asyncio_setup, gc_set_threshold +from freqtrade.system import asyncio_setup, gc_set_threshold, print_version_info logger = logging.getLogger("freqtrade") @@ -38,7 +38,10 @@ def main(sysargv: list[str] | None = None) -> None: args = arguments.get_parsed_arg() # Call subcommand. - if "func" in args: + if args.get("version") or args.get("version_main"): + print_version_info() + return_code = 0 + elif "func" in args: logger.info(f"freqtrade {__version__}") gc_set_threshold() return_code = args["func"](args)