Package: python3-scalene
Version: 1.4.1-1
Severity: important
X-Debbugs-Cc: [email protected]
Dear Maintainer,
Running scalene, either with the CLI command `scalene`, or `python3.10 -m
scalene`, or `python3.9 -m scalene`, causes this (or similiar) import error:
Traceback (most recent call last):
File "/usr/bin/scalene", line 33, in <module>
sys.exit(load_entry_point('scalene==1.4.1', 'console_scripts',
'scalene')())
File "/usr/bin/scalene", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3/dist-packages/scalene/__main__.py", line 4, in
<module>
from scalene import scalene_profiler
File "/usr/lib/python3/dist-packages/scalene/scalene_profiler.py", line 46,
in <module>
from scalene.scalene_mapfile import ScaleneMapFile
File "/usr/lib/python3/dist-packages/scalene/scalene_mapfile.py", line 6, in
<module>
from scalene import get_line_atomic # type: ignore
ImportError: cannot import name 'get_line_atomic' from 'scalene'
(/usr/lib/python3/dist-packages/scalene/__init__.py)
The problem is easily traced to the included get_line_atomic C extension
being installed to /usr/lib/scalene/lib, which is not on Python's search
path for modules. Extension modules should be installed alongside their
pure-Python companions, in /usr/lib/python3/dist-packages (see: every other
Python package with a C extension.)
This also explains why the generated manpage is a duplicate of `python3 -h`.
-- System Information:
Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.1.0-0-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8),
LANGUAGE=en_CA:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages python3-scalene depends on:
ii libc6 2.36-4
ii libgcc-s1 12.2.0-9
ii libstdc++6 12.2.0-9
ii python3 3.10.6-1
ii python3-cloudpickle 2.0.0-1
ii python3-numpy 1:1.21.5-1+b1
ii python3-rich 12.4.4-1
Versions of packages python3-scalene recommends:
ii python3-ipython 8.5.0-1
ii python3-pynvml 11.515.75-1
python3-scalene suggests no packages.
-- no debconf information