I hope this helps . This example uses py2exe. Use packages to add any referenced libraries and options includes to add dependencies. I am not too sure about the exact semantics and I reached this stable configuration after much trial and error. Hopefully, you can use this as a template to go ahead.
from distutils.core import setup
from iso8601 import iso8601
description='Exe example using py2Exe',
author='Urjit Singh Bhatia',
Py2Exe Error: Win32com.client causes errors when trying to run created executable
I hope this helps . I am not fully sure this will fix your problem, but you should start by correcting that faulty options dictionary entry. In python, when you define a dictionary with the same key over and over, you are only going to get the last value. A key can only exist once:
fixed the issue. Will look into that further I compiled your program (the imports) and it runs OK for me. the py2exe missed module report is not relevant if you are not using those modules (I got the same list as that you show). Remember that the executable will run while you execute it within the dist module py2exe creates (and not from a copy in your desktop, for example. For that you need to make a direct access link).