I'm trying to create an IRC client using the irclib library. When I try to freeze the script using cxFreeze, however, I always run into that error:
Traceback (most recent call last):
File "C:\python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
exec(code, m.__dict__)
File "client.py", line 38, in <module>
ImportError: No module named jaraco
The setup.py script has been modified several times, to try to include files, packages and so on. Nothing seems to work. Here's the current version for reference:
from cx_Freeze import setup, Executable
client = Executable(
script="client.py",
base="Win32GUI",
)
setup(
name = "client",
version = "0.2",
description = "client",
options = {'build_exe': {'includes': ["jaraco"], "packages": ["jaraco"]}},
executables = [client],
)
The script of the client can be shortened in a single line:
from irc import client
That's all. I'm not using Jaraco, irclib (package irc) is. Jaraco must have been installed as a dependency from irclib.
I've tried to find the reasons why it could happen, but so far, nothing found.
Thanks for your help!
Well, after some digging around, it seems the same problem exists with zope when freezing an application with twisted. Although I haven't tested it with jaraco, I would imagine it's the same issue. I hope this solution works for users stuck with the same problem:
Here's the setup.py script:
from cx_Freeze import setup, Executable
client = Executable(
script="client.py",
base="Win32GUI",
)
setup(
name = "client",
version = "0.2",
description = "client",
options = {'build_exe': {'packages': ["irc"]}},
executables = [client],
)
I provide this answer because it worked just fine with twisted and zope. Seeing my client uses twisted now for its IRC communication, I don't know if the provided steps below work, but that's what helped me for twisted.
HTH,