9292PgVer , \
9393eprint , \
9494get_bin_path2 , \
95- get_pg_version , \
95+ get_pg_version2 , \
9696execute_utility2 , \
9797options_string , \
9898clean_on_error
@@ -148,16 +148,6 @@ def __init__(self, name=None, base_dir=None, port=None, conn_params: ConnectionP
148148 """
149149
150150# private
151- self ._pg_version = PgVer (get_pg_version (bin_dir ))
152- self ._should_free_port = port is None
153- self ._base_dir = base_dir
154- self ._bin_dir = bin_dir
155- self ._prefix = prefix
156- self ._logger = None
157- self ._master = None
158-
159- # basic
160- self .name = name or generate_app_name ()
161151if os_ops is None :
162152os_ops = __class__ ._get_os_ops (conn_params )
163153else :
@@ -168,6 +158,17 @@ def __init__(self, name=None, base_dir=None, port=None, conn_params: ConnectionP
168158assert isinstance (os_ops ,OsOperations )
169159self ._os_ops = os_ops
170160
161+ self ._pg_version = PgVer (get_pg_version2 (os_ops ,bin_dir ))
162+ self ._should_free_port = port is None
163+ self ._base_dir = base_dir
164+ self ._bin_dir = bin_dir
165+ self ._prefix = prefix
166+ self ._logger = None
167+ self ._master = None
168+
169+ # basic
170+ self .name = name or generate_app_name ()
171+
171172self .host = os_ops .host
172173self .port = port or utils .reserve_port ()
173174