cx_freeze cómo incluir módulos de terceros, ImportError: No hay un módulo llamado barra de progreso

Encontré un problema al usar cx_freeze, ¿cómo “incluir” módulos o paquetes de terceros? Según el documento, parece fácil pero … mi env: win7 x64 python 2.7.5 x64

aquí está mi setup.py

#!/usr/bin/env python2 from cx_Freeze import setup, Executable includefiles = [] includes = [] excludes = [] packages = ["lxml","lxml._elementpath","lxml.etree","lxml.html",'selenium','jinja2', "progressbar"] setup( name = 'myTool', version = '0.1', description = 'Brought to you by xxx', author = 'tool', author_email = 'tool@me.com', options = {'build_exe': {'includes':includes,'excludes':excludes,'packages':packages,'include_files':includefiles}}, executables = [Executable('myTool.py')] ) 

y tuve un problema incluyendo la barra de progreso del paquete que instalé vía pip.

Aquí está mi progtwig principal .py simplificado

 #!/usr/bin/env python2 # from progressbar import FileTransferSpeed,Percentage,ETA,Bar,ProgressBar # print FileTransferSpeed import progressbar print "yeah !" 

Incluso con estas dos líneas de código, después de ejecutar cxfreeze myTool.py, todavía tengo la fea advertencia de los módulos faltantes

 Missing modules: ? _emx_link imported from os ? cStringIO imported from encodings.quopri_codec, encodings.uu_codec, quopri ? ce imported from os ? getopt imported from base64, quopri ? org.python.core imported from copy ? os.path imported from os ? os2 imported from os ? os2emxpath imported from os ? posix imported from os ? progressbar imported from __main__ ? pwd imported from posixpath ? re imported from base64, encodings.idna, posixpath, string, warnings ? riscos imported from os ? riscosenviron imported from os ? riscospath imported from os ? subprocess imported from os This is not necessarily a problem - the modules may not be needed on this platfo rm. 

por supuesto cuando ejecuto dist\myTool.exe

 E:\cxfreeze\progressbar_test>dist\myTool.exe Traceback (most recent call last): File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27 , in  exec code in m.__dict__ File "myTool.py", line 6, in  import progressbar ImportError: No module named progressbar 

Qué me estoy perdiendo ?

 >>> import progressbar >>> progressbar  

edit: holycrap encontré el motivo, olvidé cuando instalé este paquete, no sé cómo instalar la última versión 2.3-dev mediante el comando pip, probé pip install progressbar=2.3-dev , así que descargué la fuente y easy_install setup.py install , así que termino con el archivo .egg en los paquetes de sitio, lo desinstalé e instalé otro paquete progressbar2 usando pip, la interfaz parece ser la misma, ahora cx_freeze funciona. (debido a que el paquete se instala en carpetas atcually en los paquetes de sitio, no en un archivo .egg)