Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 26, 2014 00:24:41

WoMax
Зарегистрирован: 2014-05-26
Сообщения: 124
Репутация: +  9  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

Привет,

написал игру в tkinter, хочу сделать экзешник.

Мой setup.py:

[code python]import sys
from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"include_files" : ["big_2.gif", "big_4.gif", "big_8.gif", "big_16.gif", "big_32.gif", "big_64.gif", "big_128.gif", "big_256.gif", "big_512.gif", "big_1024.gif", "big_2048.gif", "credit.png", "Help.png", "lose_window.png", "lose_window_new_rec.png", "origin_2.gif", "origin_4.gif", "origin_8.gif", "origin_16.gif", "origin_32.gif", "origin_64.gif", "origin_128.gif", "origin_256.gif", "origin_512.gif", "origin_1024.gif", "origin_2048.gif", "PythonPowered.gif", "small_2.gif", "win_window.png", "win_window_new_rec.png", "comicbd.ttf", "best_score.txt"], "icon": "2048_48.ico", "optimize": 2, "includes": ["tkinter", "random", "PIL"], "excludes": ["decimal", "gzip", "bdb", "html", "getopt", "getpass", "gettext", "macurl2path", "mimetypes", "multiprocessing", "pdb", "os2emxpath", "readline", "smtplib", "socketserver", "subprocess", "tarfile", "tkinter", "webbrowser", "win32api", "win32con", "win32pipe", "win32evtlog", "win32evtlogutil"]}

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
base = "Win32GUI"

setup( name = "2048",
version = "0.1",
description = "Game",
author = "Maksym Vovk",
author_email = "aaa@bbb.com",
options = {"build_exe": build_exe_options},
executables = [Executable("2048.py", base=base)])[/code]

setup.py, файл с кодом игры и файлы с картинками кидаю в папку C:\Python34.

Потом в командной строке запускаю: setup.py build

В итоге получаю ошибку: cx_freeze.freezer.Config.Error: cannot find file/directory named big_2.gif

Если изменить названия файлов, дописав к ним путь (например “C:\\Python34\\big_2.gif”), то ругается что путь не может быть абсолютным.

Может кто-то сталкивался с этим? В чем может быть проблема?

Отредактировано WoMax (Май 19, 2020 22:23:24)

Офлайн

#2 Авг. 26, 2014 00:42:18

WoMax
Зарегистрирован: 2014-05-26
Сообщения: 124
Репутация: +  9  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

РЕШЕНО:

надо было в командной строке перейти в папку C:\Python34, а потом уже запускать setup.py build

Офлайн

#3 Авг. 26, 2014 08:42:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

:) Лучше делать не экзешник а дистрибутивчик для вашего модуля. Тогда оно будет ставиться под любой ОС. Единственная кривая ось - windows в ней надо фиксить отсутствие питона. Это делается на раз - запустить еще один дистрибутивчик с питоном. Можно эти два дистрибутива слить в один.



Офлайн

#4 Авг. 26, 2014 11:56:34

WoMax
Зарегистрирован: 2014-05-26
Сообщения: 124
Репутация: +  9  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

doza_and
Можно эти два дистрибутива слить в один.
это с помощью пакета distutils можно сделать?

Офлайн

#5 Авг. 26, 2014 20:52:31

stosu.ru
Зарегистрирован: 2014-08-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

doza_and
Лучше делать не экзешник а дистрибутивчик для вашего модуля. Тогда оно будет ставиться под любой ОС. Единственная кривая ось - windows в ней надо фиксить отсутствие питона. Это делается на раз - запустить еще один дистрибутивчик с питоном. Можно эти два дистрибутива слить в один.

Дистрибутивчик под любую ОС неверное не получится, в зависимостях “win32api”, “win32con”, “win32pipe”, “win32evtlog”, “win32evtlogutil”.

Если хотите собрать все в один установщик под винду, то после заморозки можете использовать очень простую штуку InnoSetup.



НИЛ СТОСУ / stosu.ru

Офлайн

#6 Авг. 27, 2014 20:45:30

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

stosu.ru
неверное не получится, в зависимостях “win32api”,
Они исключены а не добавлены. Могу ошибаться cx_Freeze не использую.



Офлайн

#7 Авг. 27, 2014 21:14:55

stosu.ru
Зарегистрирован: 2014-08-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

cx_Freeze не видит файлов

doza_and
Упс проглядел



НИЛ СТОСУ / stosu.ru

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version