私はPython上で完全に動作するPythonアプリケーションを持っていますが、cython化されたスクリプトを実行するとエラーが発生します。CythonでコンパイルされたスクリプトのPython RecursionError
私がスクリプトをcythonでコンパイルすると、すべてが正常にコンパイルされます。私はLinuxのラズベリーでコンパイルしていて、それを実行しています。
setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize(["*.py"]),)
は、その後、私はコンパイルするsetup.shを実行して、私は何を実行していることであることを確認するために、すべてのコンパイル*の.py、* .Cと* .pycファイルを削除しますコンパイルされた* .soファイル。私はmainGUI.pyを除いてすべてをコンパイルします。PySideはPySideベースであり、コンパイル時には常にブレークします。
setup.sh
は、その後、私は私のアプリ
sudo python3 mainGUI.py
を実行し、すべてがOKのようです、GUIが現れ、メニューが働いているが、私は、端末を読んだとき、私は取得しますこの出力は何度も出力されます:
RecursionError: maximum recursion depth exceeded while calling a Python object
しかし、私はscript.pyがこれを投げているのか分かりません。私はいくつかのscripts.pyをコンパイルから除外して、それらを.py(例えばmySQLdatabaseScript.py)として実行させ、RecursionErrorの量を減らしましたが排除しませんでした。
私のGUIが実行されていてもエラーがなくても、ほとんどの機能が動作していないため、RecursionErrorがスローされます。
私は再帰限度
sys.setrecursionlimit(1500)
を増やすことができます。しかし、私はこれをどこにやるべきことを読みましたか? mainGUI.py?または各script.py?私は同じエラーを持っている/
感謝:)
こんにちは、はい、問題はpysideようです。私たちの問題は、すべてが信号で動作することです。私たちのプロジェクトは終了し、PyQtへの切り替えには多くの作業が必要になります。(しかし、アドバイスをいただきありがとうございます:) – EinSoldiatGott
私のコードは1500行あります。 私は30分でpyQtに変換しました。 ウィジェットとメソッドの名前は同じです。 少し速く動作します。 – Ando
本当に?、私は今しようとしています。開発者のライセンスは500米ドルです。 – EinSoldiatGott