I'm not familiar with visPy.  My assumption is that there is a dependency 
for VisPy that Pyinstaller can not detect.  
Is there a dependency of VisPy or a selectable "backend" for VisPy?

If so look at importing the these dependencies into your main.py so 
pyinstaller can see them, or add to the hidden-imports list in pyinstaller.

On Thursday, August 8, 2024 at 2:45:12 AM UTC-7 Yang Chen wrote:

> My Python script works just fine, but something wrong with the exe 
> generated by PyInstaller.
>
> *Error message:*
> Traceback (most recent call last):
>   File "main.py", line 3, in <module>
>     print(XReal.get_arr())
>   File "XReal.py", line 9, in get_arr
>     ptr = self.dll.GetEuler()
> OSError: exception: access violation reading 0x0000000000000000
>
>
> *Source code:XReal.py:*
> import ctypes
> class xreal:
>     def __init__(self):
>         self.dll = ctypes.CDLL('AirAPI_Windows.dll')
>         self.dll.StartConnection()
>         self.dll.GetEuler.restype = ctypes.POINTER(ctypes.c_float)
>         self.arr = (ctypes.c_float * 3)()
>     def get_arr(self):
>         ptr = self.dll.GetEuler()
>         ctypes.memmove(self.arr, ptr, ctypes.sizeof(self.arr))
>         return list(self.arr)
> XReal = xreal()
>
> *main.py:*
> from XReal import XReal
> while True:
>     print(XReal.get_arr())
> import vispy *# If this line is commented out, the exe generated works as 
> expected.*
>
> *The PyInstaller command:*
> pyinstaller main.py
>
> *Environment information:*
> OS: Win11
> Python: 3.7.5
> PyInstaller: 5.13.2
> VisPy: 0.6.4
> AirAPI_Windows.dll: 
> https://github.com/MSmithDev/AirAPI_Windows/tree/master
>
> Any suggestions?
>
> Thanks in advance.
>

-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyinstaller/6aa088da-86e7-4dc1-a6a6-b8de2a5997c2n%40googlegroups.com.

Reply via email to