Найти - Пользователи
Полная версия: Помощь в портировании на винду
Начало » Python для экспертов » Помощь в портировании на винду
1
AlexIsOnFire
Всем привет. Прощу совета как лучше поступить в такой ситуации. Разрабатываю приложение для внутреннх нужд компании.Изначально целевая платформа была только linux/osx, причем только в пределах оффиса. Сейчас есть задача сделать порт и на винду тоже, плюс ко всему чтобы приложение могло работать и вне стен оффиса (для фрилансеров).
Собственно перелопачивание кода логики я почти завершил, но вот вопрос с разварачиванием всего этого дела под винду для меня пока не ясен. Что на данный момент у меня есть в зависимостях:
PySide
Wand(ImageMagick)
python-ldap
+ большое кол-во внутренних модулей, которые тянутся с сервера.
Собственно всякие PySide, Wand и ldap не проблема. Они есть под винду. Проблемв с внутренними модулями компании. Для работы с сетью, файлами, авторизацией и прочего….
Мало того что это всё нужно собрать в кучу, так еще в многих модулях (хотя они все pure python) есть платформозависимый код.
Первое что приходит на ум - это написать тулзу, которая соберет все зависимости нужных версий в одном месте, упакует в архив, и положит на сервер для скачивания.
Какую стратегию выбрать? Как “деплоить” всё это дело? Стоит ли править код в модулях компании, чтобы он работал и на винде в том числе, или может вообще завести отдельную репу для windows версии? Ну тогда править код нужно будет в 2х местах.
Как сделать это всё грамотно? Пишу всё один, подобного опыта нет.
Буду благодарен за помощь.
4kpt_II
Web
py.user.next
AlexIsOnFire
Стоит ли править код в модулях компании, чтобы он работал и на винде в том числе, или может вообще завести отдельную репу для windows версии?
Если не можешь переделать код так, чтобы платформозависимые части были чётко выделены, то придётся делать отдельную виндовую ветку. Там, на винде, есть множество глюков, и их нужно обходить. Так вот эти обходы будут добавляться в никсовый код, не имея к нему отношения.

AlexIsOnFire
Ну тогда править код нужно будет в 2х местах.
Там и тесты будут разные. В винде треть кода направлено на обход её недостатков.

К примеру, если в лине текст в консоль можно выводить напрямую, то в винде нужно выводить его через обёртку.
А ещё, прикинь, в винде открытый файл может обрываться на середине. Потому что там есть такой глюк, когда символ считается концом файла.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB