setup - install module python
cx_freeze e importar módulos (1)
Entonces, encontré la respuesta: cada módulo DEBE tener un archivo __init__.py
. Ahora compilo mi proyecto.
Quiero compilar un módulo Python 3.3 con submódulos usando cx_freeze.
Entonces, mi dir estructura es:
projectname/
__init__.py
submodule1/
__init__.py
bootstrap.py
script1.py
submodule11/
script2.py
submodule2/
...
En el __init__.py
importo
from submodule1 import bootstrap
y desde el arranque
import submodule1.submodule11.script2
Si ejecuto el archivo init, todo está bien y la secuencia de comandos con las importaciones del submódulo se ejecuta correctamente.
Cuando lo compilo, uso este setup.py:
from cx_Freeze import setup,Executable
import sys
includes = []
excludes = [''Tkinter'']
packages = [''submodule1'', ''submodule2'']
base = "Win32GUI"
setup(
name = ''myapp'',version = ''0.1'',description = ''app'',author = ''user'',
options = {''build_exe'': {''excludes'':excludes,''packages'':packages}},
executables = [Executable(''__init__.py'',base=base)]
)
y ejecute el script en el dir ''projectname''.
Pero si inicio la aplicación, obtengo ImportError: no module named ''submodule1.submodule11''
de un cuadro de diálogo de error.
Y es verdad: en library.zip, este submódulo no existe.
¿Qué hago mal?