Игнорирование library.zip в py2exe - PullRequest
3 голосов
/ 25 января 2012

Мне нужен исполняемый файл (.exe), который принимает некоторые параметры из файла, который может быть настроен пользователем в зависимости от его потребностей.Так как я создал скрипты на python, я использовал py2exe для создания этого исполняемого файла.Хотя я могу поместить настраиваемый файл с именем settings.dat в качестве файла данных и использовать его для настройки, я чувствую, что было бы лучше, если бы настраиваемый файл представлял собой файл Python (скажем, settings.py ) и использовать его для импорта объявленных в нем переменных.

Так что settings.py не должен быть включен в library.zip, и я хотел бы, чтобы он был включен как есть и сделал его настраиваемым пользователем.Возможно ли это?

Есть ли способ избежать создания library.zip и просто поместить все файлы зависимостей в подпапку?(В этом случае я могу просто поместить settings.py внутри него, поскольку settings.pyc является производным от него, и любые изменения, сделанные в settings.py, будут отражены)

1 Ответ

2 голосов
/ 25 января 2012

Есть ли способ избежать создания library.zip и просто поставить все файлы зависимостей в подпапке?

Да, установите для параметра skip_archive значение True.

http://www.py2exe.org/index.cgi/ListOfOptions

РЕДАКТИРОВАТЬ: PyC-файлы находятся в той же папке, где был бы ZIP-файл. Ключевое слово zipfile контролирует путь к почтовому индексу. Это помещает файлы в подпапку foo:

setup(  
    ...

    zipfile="foo/bar.zip", 
    options={"py2exe": {"skip_archive": True}})
...