11
votes

I tried to package a Twisted program with py2exe, but once I run the exe file I built, I got a "No module named resource" error.

And I found the py2exe said:

The following modules appear to be missing ['FCNTL', 'OpenSSL', 'email.Generator', 'email.Iterators', 'email.Utils', 'pkg_resources', 'pywintypes', 'resource', 'win32api', 'win32con', 'win32event', 'win32file', 'win32pipe', 'win32process', 'win32security']

So how do I solve this problem?

Thanks.

2

2 Answers

11
votes

I've seen this before... py2exe, for some reason, is not detecting that these modules are needed inside the ZIP archive and is leaving them out.

You can explicitly specify modules to include on the py2exe command line:

python setup.py py2exe -p win32com -i twisted.web.resource

Something like that. Read up on the options and experiment.

0
votes

Had same issue with email module. I got it working by explicitly including modules in setup.py:

OLD setup.py:

setup(console = ['main.py'])

New setup.py:

setup(console = ['main.py'], 
      options={"py2exe":{"includes":["email.mime.multipart","email.mime.text"]}})