Unable to launch Python executable that depends on a CTF from Library Compiler
13 views (last 30 days)
MathWorks Support Team on 28 Jan 2022
I created an application in Python that uses MATLAB functions accessed through the Library Compiler for Python. My application works fine, and I am able to call the MATLAB functions in my Python code and I receive no errors.
I would like to compile this application into an EXE file by using
. However, I am unable to run the executable created by PyInstaller. I receive the following error message:
File "C:\MATLAB\R2020a\toolbox\compiler_sdk\pysdk_py\matlab_pysdk\runtime\deployablepackage.py", line 33, in initialize
mcr_handle = self.__cppext_handle.startMatlabRuntimeInstance(self.__ctf_path)
SystemError: Cannot find CTF archive 'AppData\Local\...\[LibraryName]\[LibraryName].ctf'.
What does this error mean, and how can I fix this issue?
MathWorks Support Team on 22 Jun 2022
Edited: MathWorks Support Team on 22 Jun 2022
Since you are able to run the program before it is built into an executable, the issue you are encountering may be caused by PyInstaller. By default, PyInstaller will not include the CTF file in the executable that it creates. To resolve this issue, you must create a SPEC file to instruct PyInstaller to include your CTF.
For an explanation of how to do this, please see the following MATLAB Answers post which gives an example of how to create a SPEC file for this purpose:
Additionally, PyInstaller has some documentation about these SPEC files that may be useful: