@@ -310,7 +310,16 @@ def _display_packages_information(
310310 latest_statuses = {}
311311 installed_repo = InstalledRepository .load (self .env )
312312 requires = root .all_requires
313- package_groups = self ._package_groups (root ) if show_groups else {}
313+ package_groups : dict [NormalizedName , list [NormalizedName ]] = {}
314+ default_groups = ""
315+ formatted_groups : dict [NormalizedName , str ] = {}
316+ if show_groups :
317+ package_groups = self ._package_groups (root )
318+ default_groups = self ._format_groups ([])
319+ formatted_groups = {
320+ package_name : self ._format_groups (groups )
321+ for package_name , groups in package_groups .items ()
322+ }
314323
315324 # Computing widths
316325 for locked in locked_packages :
@@ -365,9 +374,7 @@ def _display_packages_information(
365374 if show_groups :
366375 groups_length = max (
367376 groups_length ,
368- len (
369- self ._format_groups (package_groups .get (locked .name , []))
370- ),
377+ len (formatted_groups .get (locked .name , default_groups )),
371378 )
372379 else :
373380 name_length = max (name_length , current_length )
@@ -389,7 +396,7 @@ def _display_packages_information(
389396 if show_groups :
390397 groups_length = max (
391398 groups_length ,
392- len (self . _format_groups ( package_groups . get (locked .name , []) )),
399+ len (formatted_groups . get (locked .name , default_groups )),
393400 )
394401
395402 if self .option ("format" ) == OutputFormats .JSON :
@@ -504,7 +511,7 @@ def _display_packages_information(
504511 line += f" <b>{ version :{version_length }} </b>"
505512
506513 if write_groups :
507- groups = self . _format_groups ( package_groups . get (locked .name , []) )
514+ groups = formatted_groups . get (locked .name , default_groups )
508515 line += f" { groups :{groups_length }} "
509516
510517 if show_latest :
0 commit comments