| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > Сборка проекта в один исполняемый файл на Linux |
| Автор: Vady85 17.5.2015, 01:18 |
| Задача такова. Так как на разных сборках линукса имеются различные версии питона и его библиотеки, то в разных сборках линукса (у кого вместо требуемого python 2.7 стоит 2.6, у кого вместо требуемого Qt 4.8.2 стоит 4.7.8), а у кого и модулей не хватает. Стоит вопрос: как собрать проект со всеми библиотеками в один файл/одну папку, чтобы обеспечить независимость от того, что установлено на клиентских компьютерах? т.е. чтобы отказаться от использования команды для запуска python project.py и избавиться от необходимости доустановки дополнительных модулей/обновления отдельных пакетов. Проще говоря, как собрать standalone-приложение, написанное на python, для любых сборок линукса? |
| Автор: Fenrir13 17.5.2015, 09:53 |
| Для начала собрать "проект" в полноценный пакет и опубликовать его каким-нибудь образом (их несколько). https://the-hitchhikers-guide-to-packaging.readthedocs.org/ - неплохой, но староватый туториал по вопросу сборки питоньих пакетов https://packaging.python.org/ - гайд поновее и покороче Если установка получившегося питоньего пакета всё равно будет слишком сложной для ваших клиентов, тогда придётся заморочиться следующим шагом - сборкой пакетов для поддерживаемых вами линуксов. Тут я уже ничего подсказать не могу, не разбираюсь. И линуксов много, и систем установок у них используется много. |
| Автор: Vady85 26.5.2015, 09:46 |
| Fenrir13, спасибо за ответ, проблему решил так: http://it-zdrav.velizh.ru/viewtopic.php?p=1842#p1842 И с остальными библиотеками, необходимыми для работы программы тоже разобрался. Но это работает в Ubuntu 14.04, для которого python27 - родной. В других ОС с более старыми библиотеками, как АльтЛинукс СПТ 6.0 - python26 является родным. Осталась одна проблема: при запуске питона27, который поставляю в комплекте вместе с программой, ругается на ошибку из-за более старой библиотеки /lib64/libc.so. Копирование этой библиотеки с более новой версией в папку с программой не помогло. Как питону объяснить, где ему следует искать системную библиотеку? Повторю: этот python по-прежнему должен быть portable, т.е. должен корректно запускаться из любого места. |
| Автор: Romikgy 26.5.2015, 14:14 |
| что в файле activate ? и deactivate? |
| Автор: Vady85 26.5.2015, 14:40 |
| Romikgy, а зачем activate и deactivate? Пользователям каждый раз после включения компьютера перед запуском программы запустить activate? |
| Автор: Romikgy 26.5.2015, 16:56 |
| Vady85, вы ссылку дали... вы ее читали ? делали как там написано? |
| Автор: Vady85 26.5.2015, 19:07 | ||||
Я и есть автор поста на ссылке))) Не знаю зачем, на всякий выложу содержимое activate:
|
| Автор: Romikgy 26.5.2015, 21:03 |
с запуском же PATH разобрались, найдите что то по аналогии LIBPATH ... наше вам с кисточкой ! |
| Автор: Vady85 27.5.2015, 09:03 | ||
Не догоняю Вашу мысль. Можно поподробнее? |