Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2009 22:21:56

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

py2exe и внешние модули

Собственно, пишу программу с поддержкой плагинов. Плагины в формате .py, лежат в отдельной папочке. Импортируются динамически функцией __import__. Вопрос - что с ними сделает py2exe? Не запихнет в экзешник? Будет возможность добавлять свои плагины, чтобы экзешник их видел на системе без установленного интерпретатора (вроде как интерпретатор запихивается в дллку вместе с проектом)? У кого есть опыт - поделитесь, пожалуйста, как лучше все реализовать и какие подводные камни.



Офлайн

#2 Ноя. 9, 2009 23:33:11

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

py2exe и внешние модули

Можно сделать по разному - вопрос в том, что вам нужно?
Чтобы было в папке и лежало рядом с exe? Или внутри него - но это уже не совсем плагины?
Кстати, __import__ из файла не грузит. Так что вы, наверное, свою папку как-то подключали модификацией sys.path?



Офлайн

#3 Ноя. 10, 2009 06:40:52

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

py2exe и внешние модули

Андрей Светлов
нужно, чтобы лежали в папке рядом. Да, именно через sys.path.



Офлайн

#4 Ноя. 10, 2009 09:52:08

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

py2exe и внешние модули

1. Если *.py модулей ограниченное заранее определенное количество, то можно их указать прямо при сборке приложения через -i(include) в setup.py
2.если к sys.path добавлен путь к каталогу с плагинами то должно их подхватывать для работы и не обязательно в py2exe указывать.

Андрей Светлов
Никогда не получалось весь проэкт запихнуть в один exe, только ехе + zip …если знаешь тайну - поделись.



Отредактировано (Ноя. 10, 2009 09:53:00)

Офлайн

#5 Ноя. 10, 2009 13:02:37

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

py2exe и внешние модули

goblin_maks
2.если к sys.path добавлен путь к каталогу с плагинами то должно их подхватывать для работы и не обязательно в py2exe указывать.
+1, у меня в текущем проекте тоже так сделано… В “main.exe” лежит только запускалка для всего остального.
В pyd правда заморочки выходят. Не на всех компьютерах почему то работает импорт по неизвестным причинам…



Офлайн

#6 Ноя. 10, 2009 19:47:33

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

py2exe и внешние модули

goblin_maks
Никогда не получалось весь проэкт запихнуть в один exe, только ехе + zip …если знаешь тайну - поделись.
Если в функцию setup() добавить параметр zipfile=None, то zip не должен создаваться. Ты так делал?



Офлайн

#7 Ноя. 11, 2009 09:22:44

goblin_maks
От:
Зарегистрирован: 2008-12-10
Сообщения: 110
Репутация: +  0  -
Профиль   Отправить e-mail  

py2exe и внешние модули

да…именно так..но тогда получался один exe + распакованый library.zip в одном каталоге..щас уже не принципиально..проэкт закончился..



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version