📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Don’t Use Python Without These 8 Tools

Coding with Lewis12:51

Transcription

Python 3.14 здесь, но не пишите ни строчки кода, не взглянув на это сначала. Это современный набор инструментов Python. Прежде всего, один из моих любимых — UV. Я начал использовать его как замену менеджеру пакетов PIP, но обнаружил, что он может делать кучу других действительно классных вещей, о которых я никогда не знал. Прежде чем я расскажу об этом, менеджер пакетов UV покорил меня тем, что написан на Rust. Просто как бы, знаете, всё сейчас получает карму. Теперь, их бенчмарки говорят, что они в 100 раз быстрее PIP, что, конечно, их собственный бенчмарк, так что к этому нужно относиться немного скептически. Но в любом случае, вы можете просто сказать, что это будет очень, очень быстро. Но кое-что, что мне действительно нравится, — это глобальное кэширование. И это то, что для меня просто спасение, особенно если вы видели мои другие видео. Я всегда создаю локальные проекты по ИИ или машинному обучению. Так что мне всегда приходится переустанавливать эти библиотеки Python, которые просто тяжелые и большие, как библиотеки Nvidia CUDA или что-то в этом роде. И этот глобальный кэш может мне с этим помочь. Так что, большое спасибо. Теперь UV должен был стать заменой poetry и pip, но на самом деле он также является заменой pi. Да, вы можете управлять своими собственными версиями Python здесь. Итак, сначала вы хотите установить виртуальное окружение. И что мне в нем нравится, так это то, что у него есть обратная совместимость с pip. Так что, если у вас есть файл requirements.txt, он сможет его распознать. Почему люди думают, что в Python сложно? Это просто текстовый файл. Это даже не так уж сложно. А с UV Python он дает мне весь мой Python, который у меня установлен, например 3.10. Если вы находитесь в экосистеме JavaScript, во-первых, как ваше психическое здоровье сегодня? Во-вторых, вы поймете, что такое файл блокировки. И хорошо, я знаю, что это есть и в других языках программирования, не только в JavaScript. Хорошо, я просто должен говорить со своей демографией. Файлы блокировки обеспечивают большую точность, чем традиционные файлы requirements.txt, фиксируя точные версии как прямых, так и косвенных зависимостей. И это создает полный снимок дерева зависимостей вашего проекта, предотвращая пресловутую проблему "у меня работает". и обеспечивая идентичные настройки во всех ваших различных средах. Итак, дальше — rough. Теперь этот проект сделан теми же людьми, которые позволили мне взглянуть сюда. Я на вас смотрю, что означает, что это очень, очень быстрый инструмент Python, и это форматер и линтер для вашего кода Python. Опять же, глядя на их метрики, сделанные ими самими, другие линтеры чрезвычайно медленны по сравнению. Autoflake здесь занимает 6 секунд, а rough — 0,16 секунды. А бедный Pilot. Посмотрите на это. Это все еще на моем экране. Вау. С flake 8 вы обычно использовали бы языковой сервер, чтобы реализовать его непосредственно в вашем Visual Studio Code, PyCharm, Notepad++, Dreamweaver, если вы все еще используете это. И с Rough то же самое. Вы устанавливаете его через pip или UV, как упоминалось выше. Обычно это делается для вас, если вы устанавливаете его как расширение в вашем редакторе кода, таком как Visual Studio Code и PyCharm. Теперь я сэкономлю вам более технические подробности, поскольку вы найдете много вещей, которые можно сделать в их конфигурационных файлах, но просто знайте, что Rough имеет возможность проверять ваш код, форматировать ваш код и многое другое. Но он просто очень быстрый. Rough, безусловно, гораздо более простой переход, чем UV, и если вы не используете это, это просто кажется пустой тратой времени. Если вы видели мое видео про ADHD принтер с Python и хотите построить что-то похожее с помощью генеративного ИИ, обязательно ознакомьтесь со спонсором сегодняшнего видео, Arcade Dev. Arcade позволяет вашему ИИ-агенту безопасно использовать реальные приложения через пользовательские разрешения, готовые серверы MCP для Gmail, Slack, GitHub и многого другого. Но что мне действительно нравится, так это легкость создания собственного сервера MCP. Подобно тому, как вы разрабатываете HTTP-сервер, вы можете создать сервер MCP с помощью декоратора и использовать типизацию Python для генерации кода, который может использовать агент, разработанный вами или Claude, Cursor, что угодно. Вы просто устанавливаете Arcade CLI. Затем вы запускаете команду arcade new, а затем просто начинаете кодировать. Все готово к работе. Затем мы можем просто запустить наш сервер MCP локально или развернуть его. Так что вы можете использовать его в своем VS Code, Cursor CL. Я имею в виду, все разные, вы знаете, где бы они ни потребляли серверы MCP, если это то, что вас интересует. Когда дело доходит до создания с использованием текущей технологии LLM, концепция инструментов или агентов — это то, что превращает приложение ИИ из раздражающего маленького пузыря в углу программного обеспечения, которое вы загрузили, в огромный ускоритель производительности. Обязательно ознакомьтесь с Arcade Dev в описании ниже. Спасибо, Arcade, за спонсорство сегодняшнего видео. Это будет зависеть от того, какой редактор кода вы используете. Проверка типов — это то, что не встроено в Python. Когда вы говорите, что что-то должно возвращать целое число, а вместо этого возвращаете строку, оно просто будет сидеть в углу и смотреть, как вы горите. Оно просто позволит этому случиться. Проверяющие типы, по большей части, сообщат вам об этом еще до того, как вы запустите свой код, обычно сообщая вам в вашем редакторе кода или через терминал. У меня были смешанные результаты с этим. Так что у меня есть пара рекомендаций в зависимости от того, что вы используете. Если вы используете Visual Studio Code, то у Microsoft есть очень хороший инструмент под названием Pilance. Теперь Pilance не является открытым исходным кодом, но он использует что-то под названием Pyite, которое является открытым исходным кодом, которое также от Microsoft. И поэтому, по большей части, Pyite является своего рода стандартом, когда дело доходит до этого. Pyite имеет языковой сервер, и он довольно быстрый и гибкий. Один из старожилов — My Pi. My Pi — это статический проверяющий типы для Python. Его очень легко настроить. Многие места уже поддерживают его через плагины, и у него также есть свой собственный языковой сервер, но, судя по тому, что я читал онлайн, он кажется несколько нестабильным, но ваш опыт может отличаться. Стоит также отметить, что это написано на Python. Так что для больших кодовых баз рекомендуется использовать сервер, но у вас все равно может быть очень медленный опыт работы с ним. Будем честны. Для новичков на этой арене. Сначала у нас есть что-то под названием Pylizer. Pylizer написан на Rust, поэтому он работает очень, очень быстро. Мы уже говорили об этом. Привет, будущий я. Это видео было сделано примерно 3 или 4 месяца назад, но оказалось, что Astral, люди, которые сделали Rough Nuv, да, эти чертовы люди, они сделали что-то под названием Tai, о чем я говорил, но это было только новое. Ну, оказалось, что Pylizer работает над этим. И так, да. И на момент выхода этого видео, был предварительный показ от людей из Rough о проверяющем типы, который они делают под названием Thai. И он вышел уже некоторое время, и у него есть свой собственный языковой сервер. Вы можете просто скачать его как расширение VS Code. Он работает довольно хорошо до сих пор, но это мой код. И поскольку Python динамичен, мы иногда попадаем в итеративный цикл, просто запуская наш код, исправляя ошибку и проверяя, работает ли она, вместо того, чтобы сразу получить правильное решение. На мой взгляд, проверяющий типы — это огромный толчок к производительности для разработчиков, и я имею в виду, что он существует в Python уже некоторое время, но вы должны его использовать. Unit тесты могут помочь вам изменять ваш код и знать, что вы ничего не ломаете, без необходимости тестировать его вручную. Один из лучших вариантов для этого — Piest. Piest просто. Вы пишете небольшие тесты, и это просто работает. В тестировании много чего происходит, одно из них — фикстуры, что означает, что вам нужно запустить перед или после теста, например, установить текущее состояние или подключиться к базе данных. Если вам нужно, знаете ли, протестировать определенное условие, вам нужно сначала его установить. И в Piest у них есть довольно простой способ справиться с этим, используя декоратор. Вы можете делать с ним такие вещи, как изменение области действия. Так что он запускается один раз на модуль, а не на каждый тест, или добавлять параметры или использовать их автоматически. И вывод довольно приятный, давая вам довольно подробное представление о том, почему ваш код преуспел или потерпел неудачу. Он также очень настраиваемый, где вы можете настроить каталог тестов или просто тестировать по-разному. И он очень хорошо документирован с огромными экосистемами плагинов и расширений, такими как подключение его к playright или другим инструментам Python, таким как flake, или даже подключение к конкретным базам данных. Теперь, хотя Piest очень прост, вы также можете использовать стандартную библиотеку unit test, которая также встроена в Python. Хотя мне не нравится система unit test на основе классов, я знаю, что многим людям на Reddit, YouTube и т. д. она не нравилась, и они предпочитали систему на основе функций. Так что, что вы действительно можете сделать? В любом случае, даже если вы решите использовать стандартную библиотеку unit test, которая поставляется встроенной в Python, или если вы используете Piest, убедитесь, что вы внедрили какую-либо систему тестирования. Idantic — это библиотека проверки данных. Часто мы имеем дело с объектами, словарями. Это могут быть параметры, которые вы отправляете в HTTP-запрос, или просто данные, которые использует ваша модель. Это может быть база данных. Это может быть буквально что угодно. С Pyantic вы можете определить все это и стать довольно сложным, например, аннотации, словари, литералы и многое другое. Это также может быть преобразовано в JSON-схему. И поскольку вы все равно используете типы, Pyantic просто облегчает проверку вашего кода различными способами. И в зависимости от того, как вы любите кодировать, вы можете использовать строгий режим или нестрогий режим. Нестрогий режим принимает распространенные различия и пытается их вывести. Однако есть и строгий режим, который просто не делает этого. Он просто говорит вам: нет, это неправильно. И Pyantic на самом деле интегрируется со многими существующими инструментами разработки Python, такими как PyCharm, Visual Studio Code или даже My Pi Rich, который является библиотекой форматирования консоли. Pyantic использует систему типов Python, что делает его очень простым для подключения к любой кодовой базе, которую вы используете, и быстрого итеративного процесса. Я очень рекомендую его. Это такая потрясающая библиотека. Итак, вот еще несколько вещей, которые мне нравится использовать, для которых я не чувствовал, что у них есть определенная категория. Один из моих любимых способов использования Python — через Docker-контейнеры. Docker-контейнеры заслуживают отдельного видео, и я уже сделал кучу коротких видео о них, но возможность надежно запускать ваш код где угодно делает Python еще более мощным. Работа с виртуальными окружениями может быть проблемой. Использование Docker дает много преимуществ, даже за пределами экосистемы Python, но иногда перенос проектов между компьютерами или с другими сотрудниками может быть огромной проблемой. И Docker делает это очень просто. Вы можете просто развернуть его где угодно. Это просто здорово. Опять же, не специфично для Python, но pre-commit — это очень полезный инструмент, если вы работаете в команде. Он просто дает вам возможность контролировать действия между различными состояниями вашего контроля версий. Например, я могу выбрать запуск чего-либо перед коммитом git, например, my pi rough. Убедитесь, что типы проверены. Очень часто вы хотите сделать это, чтобы очистить ваш контроль версий в репозитории, используя программное обеспечение для непрерывной интеграции, но используя pre-commit, вы можете фактически отфильтровать многие ошибки, которые вы изначально совершаете, а также не тратить эти затраты на облачные вычисления. Это просто полезный инструмент в целом. Это довольно хорошо. И это немного глупо, но это мотивировало меня сделать это видео. Просто убедитесь, что вы обновляетесь до более новой версии Python. Не используйте Python 2. Хорошо? И если вы не знаете, что такое f-строка, то вы должны были обновить Python лет 10 назад. Хорошо, я помню дни, когда люди спорили против Python 2 против Python 3. Это было просто, вау. Сообщения об ошибках намного лучше. Новый тип интерпретатора, который выглядит довольно интересно. Не всегда стоит пытаться получить самое новое и лучшее, но просто убедитесь, что вы обновились до какой-то более новой версии. В противном случае это может быть просто риск безопасности. [Музыка] Использование Python в 2025 году лучше, чем когда-либо. Количество инструментов для разработчиков, доступных всем разработчикам Python, делает его таким фантастическим опытом. Как человек, который смотрит на экосистему JavaScript и TypeScript, я завидовал их огромному и быстрому росту. Но я рад, что Python получает хотя бы что-то похожее на это. Дайте мне знать, что вы используете в своей библиотеке разработки Python в комментариях ниже и обязательно подпишитесь для получения дополнительной информации. Мир, кодеры. [Музыка]