Всем привет, меня зовут Илья Казямов и я обучаюсь на Python-разработке в Хекслете.
- Проблемы WSL + PyCharm
- Переход на VS Code
- Ubuntu выглядит как MacOS
- Я не трушный программист
- Debian 11, приключение на 20 минут
- Почему стоит попробовать Линукс
Эта история начнется мрачно, как сериал Венсдей, но в конце будет хэппи энд. Я начал обучение 30.06.2022 года и на самом деле это был не первый курс по Python.
Итак, предложения пересесть на Линукс/Мак высказывались в комьюнити Хекслета несколько раз с начала моего обучения. Сначала меня это приводило в бешенство.
Потому что до этого купил легкий и тонкий ноутбук под Windows, который мне нравился. А перед продажей курса мне никто не сказал, что код на Python запускают в основном на Линуксе.
Вариантов было несколько:
- Купить мак.
- Поставить WSL. Это система Linux, которая работает внутри Windows как виртуальная машина.
- Поставить Ubuntu второй ОС, которое называется Dual Boot.
Покупка мака отпадала, потому что мне нравился мой новый тонкий ноут, да и денег после покупки курса и ноута не осталось. Да и опыт с клавиатурой мака меня не особо радовал. Всегда бесила точка на клавише 6.
Я решил поставить WSL, потому что ставить еще одну операционку слишком радикально. В чем прикол терять лицензию винды. Так как это был мой первый опыт работы с линукс, работа с консолью не была идеальной, но мне понравились фишки линукса, вроде автодополнения.
Проблемы WSL + PyCharm
Потом начались проблемы — запуск кода не работал в редакторе PyCharm, потому что poetry, установленный в WSL, и poetry, установленный в Windows, это две разных программы. У меня встали две разные версии, и началось веселье с тем, что ломалось виртуальное окружение при запуске в PyCharm. Потому Community-версия не умеет работать с WSL и открывать проекты удаленно. (Тут я опущу момент, как скачал пиратку Pro версию с торрентов, спойлер, она не работает нормально, даже не пытайтесь). Потом кто-то в чате сказал, что можно получить лицензию через куратора и спустя пару часов у меня уже был легальный ключ от PyCharm Pro.
В итоге, это все равно не заработало. PyCharm Pro создает соединение с WSL около 10-15 минут на моем компьютере.
Переход на VS Code
Я не верил, что разработка это такое страдание. И я решил попробовать VS Code. Так вот тот же проект открывается за 3-5 секунд. Все коннектится к WSL без проблем и работает быстрее.
PyCharm — хороший редактор, но не подходит для разработки в WSL. (Потом я попробовал его в Линуксе, скорость подключения оказалась быстрее, но все равно медленнее, чем VS Code).
На самом деле удивительно, как комфорт при разработке влияет на выбор ОС и редактора.
Все было прекрасно, до момента, когда я не попробовал сделать пет-проект с графическим интерфейсом. Я понял, что пора кардинально что-то менять, погуглил как установить Ubuntu с флешки. И вот вечер, я сижу на диване и ставлю второй системой Ubuntu 22.04.
Ubuntu выглядит как MacOS
Это первое, о чем я подумал, после запуска системы. Конечно, это была лишь подобия MacOS, с быстрыми клавишами из Windows. Но вы целом выглядело приятно. Я погрузился в установку и настройку, а после с головой ушел в написание кода. Единственным минусом было, что ноут стал работать 4-5 часов от батареи, когда под Win 10 его хватало на 8-10 часов.
Все шло гладко до одного момента. Спустя 4 дня работы на Убунту я начал замечать, что у меня начались головные боли. На следующий день они стали сильнее, еще через день я просто не мог ее терпеть. Я начал разбираться в ситуации, и заметил, что боковым зрением вижу мерцание экрана. Я решил сделать передышку и день поработать на Винде. Спустя 10 часов, головная боль прошла. Я начал гуглить, что может быть не так, ставил различные драйверы, менял настройки xrandr, но ничего не помогало, к концу дня у меня снова была головная боль.
Так вот, мучений с установкой различных костылей отбили всякое желание обучаться. Это была одна из причин, почему я забил на второй проект на 4 месяца.
Я не трушный программист
Поняв, что здоровье мне дороже, а время слишком ценно, чтобы искать, в чем причина такого неприятного мерцания экрана я решил удалить Ubuntu. Забил на то, что я не похож на трушного разработчика и продолжил разрабатывать в VS Code + WSL.
В итоге на этой связке я написал код для 2 и 3 проекта. Но скорость работы на линуксе запали в мое сердечко и ночами я фантазировал о том, как снова поставлю линукс. На винде все работает не так быстро как на линукс на одном и том же железе.
И вот, я снова полез в интернет, чтобы погуглить, что такого красивого и быстрого есть из дистрибутивов Linux.
Debian 11, приключение на 20 минут
В итоге, после одной из статей, я остановился на Debian. Выделил на диске часть размером 20 Гб под установку, чтобы не тратить много места на этот эксперимент. И оставил еще пару таких частей, для других, таких как elementaryOS и Mint.
Эмоции были неоднозначные. Сначала порадовали команды для программ, которые вызывались через Alt + F4, очень круто. Потом начались опять какие-то проблемы. Контекстное меню вызывало ошибку. После недолгих гуглений, я понял, что выбрав минимальную установку, экономя место, я создал себе эти ошибки.
Переустановил, не помогло. Пошел гуглить, начал устанавливать недостающие пакеты, а потом через несколько часов гуглений и установок, поймал похожее чувство. Что мне жалко своего времени на это. Я хочу чтобы все просто работало. Удивительно, но Windows, это отличный черный ящик, который просто работает, без необходимости лазить постоянно под капот.
С другой стороны, у меня не болела голова, глаза не утомлялись, а значит, что Дебиан в чем-то отличался от Убунту. А батарея держала до 13 часов работы от батареи. Тут я решил дать шанс с себе и Линуксу познакомиться поближе. И часть очарования Дебиан пропало, вместе с ошибками контекстного меню.
И вот сейчас я сижу и пишу этот текст с Дебиан. Я еще многого не знаю — о том, как бэкапить состояние в случае чего. Но мне нравится то, как быстро он работает и как выглядит.
Почему стоит попробовать Линукс
Как человек, который пользовался виндой больше 10 лет, я не буду говорить про преимущества настройки, свободного ПО и прочих вещей. Я фанат красивых интерфейсов и работоспособности из коробки. У Линукса с этим проблемы, так же как и с прерывистым рендрингом страниц. Но в остальном — это операционка со своим особым очарованием, которым я проникся. Я рекомендую хотя бы попробовать, возможно, вам это понравится. А чтобы это было не так тяжко как у меня, вот мой Makefile, в нем набор команд, чтобы поставить все, что необходимо для разработки по Python.
Спасибо, что дочитали до конца.
Буду рад вашей обратной связи в комментариях :)