Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Не собирается exe


Автор: tishaishii 10.8.2013, 21:10
Код файла "test.py": 
Код
import lib.Class as c
import tkinter as tk

print( c ) 

В папке "lib" находится файл "Class.py":
Код
class Class: pass


Рядом с файлом "test.py" создал файл "setup.py" для cxfreeze:
Код

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(  name = "guifoo",
        version = "0.1",
        description = "Project",
        options = {
            "build_exe": {
                "optimize": 2 ,
                "append_script_to_exe": True ,
                "copy_dependent_files": True ,
                "create_shared_zip": True ,
                "compressed": True
            }
        } ,
        executables = [
            Executable("test.py")
        ]
)


Создаю файл "exe" с другими файлами для его работы:
Код
python.exe setup.py build


Пишет:
Код
Missing modules:
? lib.Class imported from __main__


Что написать, чтобы "lib/Class.py" правильно включался в проект?

Автор: tishaishii 10.8.2013, 21:29
Изменил код на следующий (перечисленные модули используются в проекте):

Код

from cx_Freeze import setup, Executable

setup(  name = "guifoo",
        version = "0.1",
        description = "Project",
        options = {
            "build_exe": {
                "optimize": 2 ,
                "append_script_to_exe": True ,
                "copy_dependent_files": True ,
                "create_shared_zip": True ,
                "compressed": True ,
                "packages": [ "json" , "random" , "tkinter" ]
            }
        } ,
        executables = [
            Executable("run.py")
        ]
)

и скопировал папку "lib" и папку "config" в выходную папку.

Но что-то мне не нравится. Получилась куча файлов. Теперь ещё программу установки придётся писать.

Добавлено через 5 минут и 19 секунд
bdist_msi - понятно. Но специфика такая, что придётся много чего добавлять.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)