title: What are the various build_exe_options for cx_Freeze and Python?
body: <p>I finished my first complete python program and am trying to create an exe.  I did successfully build the exe, but it runs and does nothing.  I'm guessing it didn't include all the packages.  I can specify these with the <strong>build_exe_options</strong> in cx_Freeze, but I don't know the difference between <em>packages</em> and <em>excludes</em>.</p>
  
  <p>These are all the imports I use in my program</p>
  
  <pre><code>import os
  import smtplib
  from datetime import datetime, timedelta
  from ftplib import FTP_TLS
  from email.mime.text import MIMEText
  from email.mime.multipart import MIMEMultipart
  </code></pre>
  
  <p>Below is my current setup file</p>
  
  <pre><code>from cx_Freeze import setup, Executable
  
  setup(
      name = "FTPConnect",
      version = "1.0",
      description = "Connects to FTP to download docs",
      executables = [Executable("main.py")]
  )
  </code></pre>
  
  <p>I'm guessing I can do something like this, correct?</p>
  
  <pre><code>from cx_Freeze import setup, Executable
  
  # Dependencies are automatically detected, but it might need fine tuning.
  build_exe_options = {"packages": ["os", "smtplib", "datetime", "ftplib", "email.mime.text", "email.mime.multipart" ], "excludes": []}
  
  setup(
        name = "FTPConnect",
        version = "1.0",
        description = "Connects to FTP to download docs",
        options = {"build_exe": build_exe_options},
        executables = [Executable("main.py")]
  )
  </code></pre>