dalibo / pg_activity

pg_activity is a top like application for PostgreSQL server activity monitoring.
PostgreSQL License
2.46k stars 179 forks source link

AttributeError: module 'humanize' has no attribute 'precisedelta' #329

Closed defanator closed 1 year ago

defanator commented 1 year ago

With pg-activity installed through pgdg repository on Ubuntu 20.04 x86_64:

$ dpkg -s pg-activity
Package: pg-activity
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 259
Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Architecture: all
Version: 3.0.1-1.pgdg20.04+1
Depends: python3-attr, python3-blessed, python3-humanize, python3-psutil, python3:any, python3-psycopg2
Description: Realtime PostgreSQL database server monitoring tool
 PgActivity is a curses-based realtime utility to display information from a
 running PostgreSQL database server.
 .
 It is modelled after the standard 'top' utility, and displays information such
 as:
   - the running, waiting and blocking queries
   - cpu, memory and i/o usage of each query
   - the queries execution time
 .
 It also provides interactive commands to sort, filter, scroll and extend the
 queries list displayed.
Homepage: https://github.com/julmon/pg_activity

I'm seeing this:

$ pg_activity --help
Traceback (most recent call last):
  File "/usr/bin/pg_activity", line 11, in <module>
    load_entry_point('pg-activity==3.0.1', 'console_scripts', 'pg_activity')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/pgactivity/cli.py", line 13, in <module>
    from . import __version__, data, types, ui
  File "/usr/lib/python3/dist-packages/pgactivity/data.py", line 24, in <module>
    from .types import (
  File "/usr/lib/python3/dist-packages/pgactivity/types.py", line 25, in <module>
    from . import compat, colors, utils
  File "/usr/lib/python3/dist-packages/pgactivity/colors.py", line 1, in <module>
    from . import utils
  File "/usr/lib/python3/dist-packages/pgactivity/utils.py", line 12, in <module>
    humanize.precisedelta,
AttributeError: module 'humanize' has no attribute 'precisedelta'

python3-humanize details:

$ dpkg -s python3-humanize
Package: python3-humanize
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 197
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Source: python-humanize
Version: 1.0.0-1
Depends: python3:any
Description: Python Humanize library (Python 3)
 This library proposes various common humanization utilities, like turning
 a number into a fuzzy human readable duration ('3 minutes ago') or into a
 human readable size or throughput.
 .
 This is the Python 3 version of the package.
Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Homepage: https://github.com/jmoiron/humanize
defanator commented 1 year ago

With humanize==4.4.0 installed through pip everything works just fine.

dlax commented 1 year ago

This has been reported to the PGDG maintainers, as mentioned in https://github.com/dalibo/pg_activity/issues/325#issuecomment-1313928383.