У меня очень простой скрипт debug.py
:
import matplotlib.pyplot as plt
print("OK")
plt.figure()
Я создал исполняемый файл благодаря PyInstaller
с pyinstaller debug.spec
, где я добавил hiddenimports=['pkg_resources.py2_warn']
в Analysis
объект и debug=True
в EXE
объекте в debug.spec
.
Этап компиляции завершен без ошибок, но во время выполнения я получаю:
LOADER: Running debug.py
OK
LOADER: Restoring signal handlers
LOADER: freeing args
LOADER: re-raising child signal 11
Segmentation fault (core dumped)
Таким образом, кажется, что ошибка возникает в plt.figure()
звоните но я не знаю почему.
Я использую CentOS ("Linux 7") и использую Anaconda (Python 3.7.6).
В качестве дополнительной информации я уже использовал matplotlib
и plt.figure()
в другом сценарии на другой платформе (Windows) с другой установкой Python, и исполняемый файл (также созданный с помощью PyInstaller) работает правильно.
ОБНОВЛЕНИЕ: благодаря faulthandler
, мне удалось найти ошибку, вызванную numpy
, при вызове numpy.dot
в функции 'scale' в matplotlib/transforms.py
. После нескольких попыток я вижу, что numpy.dot
не работает, когда входные данные имеют тип float
, а с int
он работает.