aldebaran/libqi-python

Issue with pyinstaller

Closed this issue · 0 comments

I use pyinstaller to freeze my python script into an executable. The packaging finishes without problem, but when I execute the executable, there is a runtime error associated with session.connect(robot_url). As the result of this, I get this message:

[I] 2382 qi.eventloop: eventloop: Spawning more threads (4)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (3)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (2)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (1)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (1)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (1)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (1)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (1)
[I] 2382 qi.eventloop: eventloop: Spawning more threads (1)
....
....

and it just hangs there printing the same message over and over. Here is my simple, minimal script that reproduces the problem:

import qi
session = qi.Session()
print (session)
robot_url = '192.168.5.13'
session.connect(robot_url)

and I am using pyinstaller 3.2 and python 2.7.12. The pyinstaller command is:

$ pyinstaller test.py

from there two directories are created. The executable is located in dist/test/

The python script runs fine as long as it is not processed by pyinstaller. Anybody know whether there is a bug, perhaps related to pointers, that only shows up when used with pyinstaller?