Pull to refresh

Comments 32

Второй минус: как вы думаете, на кого ляжет почетная обязанность собирать EXE-шники после каждого апдейта кода?

На "GitHub Actions" ?

Да, есть такой вариант, только этот CI/CD надо будет настраивать и поддерживать - опять же вам :))

(А вообще формирование EXE не очень удобно при сложных зависимостях или каких-нибудь опциях/моделях, лежащих в отдельных папках и файлах)

Это нужно сделать один раз + при этом можно добавить выполнение тестов после сборки.
И таки да, это придется делать вам, как автору и разработчику проекта :-)

Я напоминаю: автор опенсорс проекта обычно НЕ получает денег за свою работу, поэтому читать, "что еще автор должен сделать, чтобы пользователям было удобнее" ну... не очень приятно (Автор относительно известного проекта получает такие сообщения постоянно, и их необходимо приоретизировать - как баги или фичи)

Лично я тесты и CI налаживаю на работе, и мне этого хватает - обычно это не то, чем я хочу заниматься в своем небольшом опенсорс проекте. Тем более, что сервисы CI, к сожалению, имеют склонность меняться - новые фичи вводят, старые удаляют... это сервис, который зависит от сторонних людей (даже Github Actions), на что я опираться не очень хочу.

Но если вам хочется сделать вариант с CI - вы всегда можете сами дописать этот воркфлоу или форкнуть проект :)

Я напоминаю: автор опенсорс проекта обычно НЕ получает денег за свою работу, поэтому читать, "что еще автор должен сделать, чтобы пользователям было удобнее" ...

Вы зря рассматриваете мой комментарий как нападки на вас с точки зрения расширения объема задач. Просто решил вам напомнить, что в автоматизации есть и свои плюсы.

Но так как я не являюсь пользователем вашего проекта, то мне по большому счету все равно и от этого ни жарко ни холодно. Но если вы на все предложения по своему проекту отвечаете подобным образом, то подозреваю что пользователей у вас никогда не прибавится.

Удачи вам!

Просто решил вам напомнить, что в автоматизации есть и свои плюсы.

Люди, которые не знают, что в автоматизации есть свои плюсы, обычно не пилят опенсорс-проекты :) Так что странно, что вы мне это хотите напомнить :)) и да, к сожалению, наладка CI выглядит, как расширение объема задач.

Но если вы на все предложения по своему проекту отвечаете подобным образом, то подозреваю что пользователей у вас никогда не прибавится.

Спасибо за беспокойство, но пользователям я также напоминаю, что в опенсорс проекте я стараюсь делать то, что мне интересно, а для остального есть форк/пуллреквест (хотя считаю, что обязанность ревьювить у автора проекта есть, да).

Пока моих пользователей это устраивает, так что всё хорошо :)

Вы уверены, что сделать ВАТ файлы проще, чем CI pipeline?

CI pipeline не всегда выход - еще раз, попробуйте собрать какой-нибудь нетривиальный Python-проект в EXE-файл. Там всё время что-то отваливается, и надо потратить немало времени на отладку.

BAT ставит в чистом виде Питон, Гит и собственно проект как он задумывался.

UFO just landed and posted this here

Честно говоря, не тестировал это ограничение.

Возможно, это не является требованием, но, вероятно, есть какие-то пакеты под питон, которые могут выдавать ошибки в противном случае.

Я тут нарвался на то, что если папка проекта содержит в имени знак процента, то сборка cmake падает.

К сожалению, всё так.

еще очень удобно использовать WinGet
https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

например example.bat:

winget install -e --id Git.Git
winget install -e --id=Python.Python.3.10
winget install -e --id=Microsoft.VCRedist.2015+.x64

и повесить выполнение bat скрипта на кнопки в Visual Studio Code (плагин Action Buttons)

winget install -e --id Microsoft.VisualStudioCode
code --install-extension seunlanlege.action-buttons

.vscode => settings.json

"actionButtons": {
"reloadButton": null,
"loadNpmCommands": false,
"commands": [
{
"name": "ExampleButton",
"singleInstance": true,
"color": "deepskyblue",
"command": "example.bat",
},
]
}
}

Интересно, посмотрю. Но если правильно понимаю, он не решает вопросов установки Python пакетов в окружении рядом собственно с папкой проекта (а такое нужно, если несколько проектов, чтобы там зависимости не пересекались)

но можно явно указывать переменную среды, в bat скрипте, что то типа:

set PYTHON=%HOMEDRIVE%%HOMEPATH%\AppData\Local\Programs\Python\Python310\python.exe

Насчёт первых двух шагов скрипта install - если они уже ввполнены, то будут ли выполняться опять или установки будут пропущены? Что будет, если появится новая версия Python 3.10?

Не тестировал, если честно. Надо смотреть.

Дочитал до батников и бросил.

Дома работаю с виндой, Пайчарм коммунти.

Pip уже не ставил руками много лет, вроде он уже в установщик питона входит.
Пайчам уже давно предоставляет удобный способ создавать виртульное окружение, где точно есть пип. Так что с "pip install -r requirements.txt" обычно проблем нет. Проблемы обычно, с тем, что надо собирать из С++ исходников. Но популярный библиотеки можно просто скачать. Хотя с этим тоже уже давно не сталкивался.

Питон на винде стал намного более удобным чем 10 лет назад.

Это для друга, у которого нет Pycharm и который вообще не разработчик ни разу )

Для разработчика обычно проблем нет.

Интересный друг, который знает про github, но не знает как установить python...

Ожидал применение docker и/или docker-compose.

Что может быть проще для друга, чем пара-тройка команд, описанных на GitHub, и несколько дополнительных файлов в репозитории - и все, у друга работоспособный проект? Причем тут не важно на какой системе. На Windows, например, у Docker есть удобный UI ко всему прочему.

Деплой можно даже автоматизировать - написать тот самый батник с чередой команд для Docker. И теперь вместо цепочки файлов .bat есть один и установленный Docker.

Я промолчу...

Докер лучше всего работает, если у вас проект с сетевым интерфейсом (сокеты или http разных вариантов).

Что делать, если нужен доступ к микрофону машины? Или если хочется банально запустить Win GUI интерфейс?

Первая проблема вроде даже как-то в докере решается, но заниматься такого рода деплоем и отлавливанием краевых ситуаций не очень весело.

Что делать, если нужен доступ к микрофону машины

Согласен, хотя и не могу не назвать это "краевой ситуацией". С другой стороны, можно обеспечить передачу информации в контейнер по сокету.

Да, это дополнительные усилия. Но в посте ситуация:

И... через какое-то время вам звонит пользователь друг с вопросом: "Слушай, интересный проект, а как его под Windows поставить?"

Что как бы односторонне говорит о том, что будет необходимо приложить дополнительные усилия. И это еще если промолчать про случаи, если требуется какой-нибудь пакет с сишным компилятором, который написан для Unix систем.

Вопрос обычно сводится не к тому, что нужен компилятор, а к тому, что обычный пользователь не очень понимает эти питоны и гиты, и дайте ему инсталлятор.

Также желательно, чтобы отладка этого инсталлятора не убивала кучу времени разработчика. Вот например это: "С другой стороны, можно обеспечить передачу информации в контейнер по сокету. " - это явное напряжение разработчика ради соответствие экосистеме докера. Оно не дает никакой новой функциональности пользователю, а разработчика напрягает.

...и вообще - я не очень понимаю, почему тут всем не нравятся BAT-файлы. Работают без виртуализации, позволяют скачивать проект, спокойно править исходники при необходимости...

Я как-то ставил докер на виндоус, помню, что было как-то неудобно.

Можно установить цыгвин, запустить баш и делать всё как в линуксе.

Python на Cygwin плохо работает. К тому же Cygwin занимает много места.

Как плохо? Сколько это – «много»?

Ну, если нормальный Linux-дистрибутив чем-то не устраивает, то, наверное, тем же может не устраивать и Линукс в виртуалке, чем WSL 2 и является.

Например, может быть существенным тот факт, что тулзы под Cygwin собирают Windows-нативные исполняемые файлы, которые можно использовать и без Cygwin.

Я цыгвином баловался лет 15 назад, но тогда ещё WSL не было. Пару лет назад, когда виндовой коллеге надо было что-то линуксовое запускать, настроил ей WSL — уже тогда оно работало.

Ох уж эти питонщики, ленятся компилить экзешники. Я с питоном по-стольку по-скольку, но неужели, долбаться дольше, чем с CMake?

Sign up to leave a comment.

Articles