Я запускаю WinPython 3.4.4.3 с pyinstaller 3.2 (полученный с помощью pip install pyinstaller).
Теперь у меня есть очень простой код Qt4, который я хочу преобразовать в EXE, и у меня возникла проблема, которую я не могу решить.
Код:
import sys
import math
from PyQt4 import QtGui, QtCore
import SMui
import numpy as np
from scipy.interpolate import InterpolatedUnivariateSpline
class SomeCalculation(QtGui.QMainWindow, SMui.Ui_MainWindow):
def __init__(self):
super(self.__class__, self).__init__()
self.setupUi(self)
self.setWindowTitle('Some Calculation')
self.calculate.clicked.connect(self.some_math)
def some_math(self):
a_diameter=self.a_diameter.value()
b_diameter=self.b_diameter.value()
complement=self.complement.value()
angle=self.angle.value()
preload=self.preload.value()
### ONLY MATH HAPPENS HERE also defining X and Y ####
interpolator = InterpolatedUnivariateSpline(X, Y)
### MORE MATH HAPPENS HERE ####
self.axial.setText(str(axial))
self.radial.setText(str(radial))
def main():
app = QtGui.QApplication(sys.argv)
window=SomeCalculation()
window.show()
app.exec_()
if __name__=='__main__':
main()
Я пытаюсь запустить pyinstaller file_name.py
и я получаю:
RuntimeError: maximum recursion depth exceeded while calling a Python object
Теперь, если есть несколько вещей, которые я обнаружил, которые также влияют на проблему:
1) Если я прокомментирую эту строку: from scipy.interpolate import InterpolatedUnivariateSpline
2) Создание EXE файла из другого сценария, использующего Scipy.Interpolate(RBS, но все же) - работает как шарм.
3) Если я попытаюсь преобразовать его в EXE, используя WinPython 3.5.1.1 + pyinstaller, полученный таким же образом, и он будет тем же самым 3.2-версией - он генерирует мой exe файл без проблем.
Я хочу понять, что вызывает ошибку в исходном случае, и я не могу найти ответ на Google, к сожалению, большинство исправлений, которые я смог найти, были связаны с matplotlib, а не с интерполяцией.