📱

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. Так что для больших кодовых баз рекомендуется использовать сервер, но у вас все равно может быть очень медленный опыт работы с ним. Будем честны. Для новичков на этой арене. Сначала у нас есть что-то под названием Pyizer. Pyizer написан на 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 pie rough. Убедитесь, что типы проверены. Во многих случаях вы хотите сделать это, чтобы очистить ваш контроль версий в репозитории, используя программное обеспечение для непрерывной интеграции, но используя pre-commit, вы можете фактически отфильтровать многие ошибки, которые вы изначально совершаете, а также не тратить эти затраты на облачные вычисления. Это просто полезный инструмент в целом. Он честно довольно хорош. И это немного глупо, но меня мотивировало сделать это видео. Просто убедитесь, что вы обновляетесь до более новой версии Python. Не используйте Python 2. Хорошо? И если вы не знаете, что такое f-строка, то вам следовало обновиться до Python лет 10 назад. Хорошо, я помню времена, когда люди спорили против Python 2 против Python 3. Это было просто, вау. Сообщения об ошибках намного лучше. Новый тип интерпретатора, который выглядит довольно интересно. Не всегда стоит пытаться получить самое последнее и величайшее, но просто убедитесь, что вы обновились до какой-то более новой версии. Я имею в виду, иначе это может быть просто риск безопасности. [Музыка] Использование Python в 2025 году лучше, чем когда-либо. Количество инструментов для разработки, которые легко доступны всем разработчикам Python, делает его таким фантастическим опытом. Как человек, который смотрит на экосистему JavaScript и TypeScript, я завидовал их огромному и быстрому росту. Но я рад, что Python получает хотя бы что-то похожее. Дайте мне знать, что вы используете в своей библиотеке разработки Python в комментариях ниже и обязательно подпишитесь для получения дополнительной информации. Мир, кодеры. [Музыка]