qmlcourse
qmlcourse copied to clipboard
installation and docker guide
Планы изменились немного. Докер пока оставил для локальной разработки --stage dev, и для слушателей с минимальным набором пакетов, анакондой и jupyter-lab:
[] тесты для всех видов установок (gh-actions) [] тест гайда на OSX [] тест гайда на Linux [] тест гайда на Windows [] тест Docker [] Перевод на русский
Закрывает/будет закрывать проблемы #230 #207
Вообще можно обсудить, может нам стоит вообще перейти на conda? Меня она просто бесит тем, что ей обязательно системный питон подменять - из-за этого на *nix пакетные менеджеры ломаются. Но я это переживу, если от этого всем станет смльно проще... Кажется, с conda в качестве основного менеджера тут было бы сильно меньше велосипедов.
Я тоже думал об этом, но решение как-то разделить Software Development от создания контента для лекций и просмотра лекций мне кажется хорошей идеей, для последних двух кейсов использовать конду, для первого - poetry. У анаконды очень много недостатков, как в плане менеджера зависимостей, так и в плане тотальной помойки. По сравнению с poetry она пока что дно, плюс poetry активно развивается. Вроде как не нужно ей ничего заменять, сейчас она устанавливает вместе с собой свой отдельный пайтон и не меняет LC'ы по умолчанию, они вообще хотят перейти в сторону conda run -n env_name some_command
На *nix конда прописывает себя в .bashrc и всегда по умолчанию активируется ее окружение base вместо системного питона. Ну раньше так было и от этого неаозможно бвло избавиться (ну либо убрать ее из bashrc, но тогда и команда conda исчезала).
Просто учитывая то, что psi4 тоже только через conda собирается, я бы предложил заменить вообще poetry на conda.
@SemyonSinchenko да, я тебя понял. Я о том, что в новых релизах они переделают это поведение, уже сделали .condarc и терминал по умолчанию будет открываться с окружением python из base только с командой conda init. Cейчас уже есть варианты с тем, чтобы при установке она ничего не прописывала bashrc (кроме как в PATH
пути до bin/conda), по крайней мере в их докере ровно такое поведение и приходится использовать (и это супер правильно) conda run -n qmlcourse.ai python -m pip intall something
или conda init && conda activate qmlcourse.ai && python -m pip intall something
, в новых релизах будет изменено это поведение по умолчанию вроде как (если уже не) :) Так что стоит попробовать поставить на чистую, может уже все будет работать как предполагается.
@alexey-pronkin отметишь тогда ready for review
когда можно будет уже смотреть
ввиду #296, psi4
тут не так важен, хорошо бы разобраться с #297
windows вообще оставить на потом
Тут все работает, я детально прочитал про докер и у меня такое мнение, что докер тащить в CI сейчас не целесообразно, там они делают жёсткие ограничения, чтобы люди платили. По сути GitHub CI имеет те же возможности и сделан внутри также, тем более что уже почти починили psi4. Основной contribution этого PR - детальная инструкция как можно альтернативно все поставить без пакетных менеджеров на английском в конду. У меня просто совсем нет времени, я хотел перевести на русский и расширить инструкцию для докера - как все запускать :) Но прежде чем мерджить, я хочу закрыть #272 и сюда вмерджить, т.к. там добавляется один пакет (нужно будет поменять requirements*.txt тут) и он у меня локально конфликтует с тем, что сейчас в poetry lock :( В #296 написал, что нужно местами поменять poetry install должен идти выше, чем conda install и нужно ставить ночную сборку psi, она не конфликтует
можем это на следующий запуск сделать, сейчас не горит
вот тут вообще забыл к чему в итоге пришли. возможно стоит отдельно обговорить и разбить на малые задачи. от win вообще пока отказаться
предлагаю закрыть этот pr: от win отказались, docker тянуть сейчас не охота. если потребуется, то возобновим ну или наработки возьмем
Давай оставим, я в отпуске, как буду у компа рабочего с виндой, доделаю. Там два - три дня работы осталось, а информация уникальная и полезная
Давай оставим, я в отпуске, как буду у компа рабочего с виндой, доделаю. Там два - три дня работы осталось, а информация уникальная и полезная
это в любом случае останется и никуда не пропадет. с win и дальше будут проблемы, которые забирают время на другие более важные задачи: перевод, описание лекций, тесты
Просто не хочу чтобы фичебранчи закрылись. Сам файл докера сделаю в другой ветке docker2, тут документацию к нему опишу в виде урока и протестирую винду. Не закрывай пока, сделаю ребейз и смерджу конфликты
Просто не хочу чтобы фичебранчи закрылись. Сам файл докера сделаю в другой ветке docker2, тут документацию к нему опишу в виде урока и протестирую винду. Не закрывай пока, сделаю ребейз и смерджу конфликты
win точно убираем сейчас, много гемора! с docker если хочешь играйся, но смысла не вижу сейчас, тк всё на poetry заводится
На Винде тоже докер есть, так что это решает проблему в некотором смысле тоже. Да, хочу поиграться, допилить его.
На Винде тоже докер есть, так что это решает проблему в некотором смысле тоже. Да, хочу поиграться, допилить его.
есть, но с ним на ней не так всё просто, ну то есть часть команд не будут отрабатывать
когда создашь новый pr, удали этот пж
Я в нем замерджу изменения, не беспокойся. Только у меня пока интернет такой себе и времени не так много. На докер без инструкции (лекции, она будет тут), только с комментариями, новый pr сделаю.
Я в нем замерджу изменения, не беспокойся. Только у меня пока интернет такой себе и времени не так много. На докер без инструкции (лекции, она будет тут), только с комментариями, новый pr сделаю.
только не в master. ты там создал новую ветку, можешь туда, ну или тут продолжай работать, что логично
Не, не. Я не настолько глуп. Из мастера сюда. Короче не беспокойся, резких движений не делаю;)
что делаем с этим pr?
Доделываю второй pr, там немного осталось. Займусь этим, тут удалю лишнее, оставлю только инструкцию, перепишу в виде лекции
а запусить workflow, который не в мастере нельзя?
а запусить workflow, который не в мастере нельзя?
новый нет. но можно скажем мало использованный существующий изменить на время, тот же test-psi4-setup
Спасибо за рефакторинг, годно. Я просто не хотел плодить пакеты, у меня на ноутбуке сейчас просто нехватает места для курса :)
Спасибо за рефакторинг, годно. Я просто не хотел плодить пакеты, у меня на ноутбуке сейчас просто нехватает места для курса :)
можешь использовать gh codespaces, он для открытых реп бесплатный и должно хватать
Не увидел никаких фри вариантов Кажется, что потом счет вышлют, я по старинке удалю что-то :)
Я опять не донес суть, что requirements - это только для слушателей. Им не зачем конвертировать лекции, мы будем это делать и просто выкладывать в релизы или в ветку с артефактами. Анаконду хочу поддерживать как альтернативу, там очень много около "продакшен" в квантовом мире пакетов, которые поставить иначе тяжко. (Тем более, я на нее много времени убил и разобрался как там что работает, кроме кэширования :) ) Предлагаю тогда сделать два requirements как и было до того, как я отказался от этой идеи. Так же для разработки/CI, где есть всё и минимальный набор для слушателей. Норм?
Я опять не донес суть, что requirements - это только для слушателей. Им не зачем конвертировать лекции, мы будем это делать и просто выкладывать в релизы или в ветку с артефактами
вот это впервые слышу, нужно обдумать как лучше тогда это делать: чтобы студии знали что у нас есть такая возможность
Анаконду хочу поддерживать как альтернативу, там очень много около "продакшен" в квантовом мире пакетов, которые поставить иначе тяжко.
у нас сейчас проблема только с psi4, остально на простое окружение норм устанавливается
Предлагаю тогда сделать два requirements как и было до того, как я отказался от этой идеи
кратко напиши что для чего будет использоваться? у нас как бы ещё и poetry сверху, получается 3 файла, очень много для такого проекта
Так же для разработки/CI, где есть всё и минимальный набор для слушателей
для сего сейчас poetry используется ведь или ты хочешь изменить?