Zelenyy / python-optics-lab

MIT License
5 stars 2 forks source link

Отстствует функция is_pyqt5 #5

Open gleblug opened 1 year ago

gleblug commented 1 year ago

При запуске не удаётся найти нужную функцию в пакете matplotlib.backends.qt_combat:

ImportError: cannot import name 'is_pyqt5' from 'matplotlib.backends.qt_compat'

Полный текст ошибки:

Traceback (most recent call last):
  File "/home/glebi/.local/bin/mipt-optics", line 5, in <module>
    from optics.main import main
  File "/home/glebi/.local/lib/python3.10/site-packages/optics/main.py", line 6, in <module>
    from optics.init_window import LabsWindow
  File "/home/glebi/.local/lib/python3.10/site-packages/optics/init_window.py", line 9, in <module>
    from optics.work_405.work_405_window import Work405Window, Lab405Window
  File "/home/glebi/.local/lib/python3.10/site-packages/optics/work_405/work_405_window.py", line 13, in <module>
    from matplotlib.backends.qt_compat import is_pyqt5
ImportError: cannot import name 'is_pyqt5' from 'matplotlib.backends.qt_compat' (/home/glebi/.local/lib/python3.10/site-packages/matplotlib/backends/qt_compat.py)

Воспроизводится как при попытке сборке/запуска исходного кода, так и при установке пакета через pip. Нужные зависимости установлены и переустановлены несколько раз. Система linux mint 21.

Zelenyy commented 1 year ago

Добрый день, извините за поздний ответ и спасибо за ваш репорт. В коде действительно используется уже устаревший способ импорта FigureCanvas из matplotlib, вы можете легко это исправаить используя примеры с их сайта. Однако данный проект в том числе зависит от сторонней библиотеки по расчетам дифракции и изменения в той библиотеки могут привести к тому что проект в текушем виде не работоспособен.