ozmartian / vidcutter

A modern yet simple multi-platform video cutter and joiner.
GNU General Public License v3.0
1.77k stars 137 forks source link

Import Error during startup #369

Closed mbway closed 1 year ago

mbway commented 1 year ago

When running vidcutter after updating I get the following error:

Traceback (most recent call last):
  File "/usr/bin/vidcutter", line 33, in <module>
    sys.exit(load_entry_point('vidcutter==6.0.5.1', 'gui_scripts', 'vidcutter')())
  File "/usr/bin/vidcutter", 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.10/site-packages/vidcutter/__main__.py", line 41, in <module>
    from vidcutter.videocutter import VideoCutter
  File "/usr/lib/python3.10/site-packages/vidcutter/videocutter.py", line 45, in <module>
    from vidcutter.about import About
  File "/usr/lib/python3.10/site-packages/vidcutter/about.py", line 29, in <module>
    from PyQt5.Qt import PYQT_VERSION_STR
ImportError: cannot import name 'PYQT_VERSION_STR' from 'PyQt5.Qt' (/usr/lib/python3.10/site-packages/PyQt5/Qt.abi3.so)

I am running arch linux and have python-pyqt5 version 5.15.8-1 and vidcutter version 6.0.5.1-5 installed. It seems that PyQt5.QtCore is the location of PYQT_VERSION_STR now:

$ python
Python 3.10.9 (main, Dec 19 2022, 17:35:49) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5.QtCore
>>> PyQt5.QtCore.PYQT_VERSION_STR
'5.15.8'
>>> PyQt5.QtCore.Qt.PYQT_VERSION_STR
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'Qt' has no attribute 'PYQT_VERSION_STR'

replacing the import in vidcutter/about.py with from PyQt5.QtCore import PYQT_VERSION_STR fixes the issue for me

ozmartian commented 1 year ago

Arch Linux package has been flagged with its maintainers and should be updated soon.