Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Герои Войны - микс стратегии и РПГ. Собери лучшую армию и победи всех врагов. В игре 7 различных режимов - как для любителей PvE, так и PvP.

Герои Войны

Стратегии, Мидкорные, Экшены

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Python + Программирование

С этим тегом используют

IT Программист Обучение IT юмор Разработка YouTube Картинка с текстом Юмор Все
986 постов сначала свежее
Avenir.Sirgun
Avenir.Sirgun
2 месяца назад
Серия Linux

Linux и минимальный комфорт⁠⁠

выяснено экспериментально.

Система 64 бит .
минимальный комфорт :
проц 4ядра по 3ггц, озу 2шт по 4гб двухканал.
1 диск под систему, 4 диска -хранилище.
сетевая карта минимум 1шт 100мбит с поддержкой linux.
видюха под текущий linux kernel .
тишина важный фактор: пк должно быть не слышно вообще с расстояния 1 метр при 100%% нагрузке.
мыш клава моник -- лишь бы работали.
флопик 3,5 желательно.
компактный размер.
без иллюминаций.
Для дома, небольшой сети до 4х компов в такой конфигурации: 3д, программирование, музыка, видео(если видяху помощнее поставить вместо офисной), планирование, сервер почты файлов сообщений ....

Linux и минимальный комфорт Linux, Программирование, IT, Компьютерная помощь, Компьютерное железо, Программа, Python, Сборка компьютера, C++, Julia, Maxima, 3D моделирование, Paint, Arduino, Длиннопост

мате

Linux и минимальный комфорт Linux, Программирование, IT, Компьютерная помощь, Компьютерное железо, Программа, Python, Сборка компьютера, C++, Julia, Maxima, 3D моделирование, Paint, Arduino, Длиннопост

иксвсё4

линукс с хфсе, иногда пользую mate и
конфигурация как я уже написал. оно не реактивное, но ничо не виснет, могу 20 вкладок браузера открыть, рендерить 3д. и +2 очееди копирования .

Linux и минимальный комфорт Linux, Программирование, IT, Компьютерная помощь, Компьютерное железо, Программа, Python, Сборка компьютера, C++, Julia, Maxima, 3D моделирование, Paint, Arduino, Длиннопост

консоль без де. менеджер файлов ncdu


частоту меньше и 2 ядра, 4гб пробовал лично
на ноутбуке Ноутбук HP Compaq cq57 -- просмотр онлайн видео 1080р тормозит. обрабатывать небольшие документы, рисунки годится. NAS будет тормозить когда захочешь несколько очередей синхронизации запустить.

если кому-то интересно могут заглянуть в мой профиль, чтобы пообщаться персонально.

Показать полностью 3
Linux Программирование IT Компьютерная помощь Компьютерное железо Программа Python Сборка компьютера C++ Julia Maxima 3D моделирование Paint Arduino Длиннопост
11
276
8088
8088
2 месяца назад
Лига программистов

Я такой старый, что все еще боюсь добавлять пробелы в имена файлов )⁠⁠

Я такой старый, что все еще боюсь добавлять пробелы в имена файлов ) Программирование, IT, Удаленная работа, Слова, Файл, Жизнь, Программа, Фриланс, Программист, Python, Telegram (ссылка), Карьера, Повтор

Без пробелов

К удаленке я привык, но к именам файлов без пробелов нет!

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

Я знаю людей, которые называют файлы длинными фразами и даже целыми предложениями. Моя сущность противится этому — таких людей я не понимаю.

Короче:
Все мои файлы называются только на английском и всегда без пробелов.

Программирование IT Удаленная работа Слова Файл Жизнь Программа Фриланс Программист Python Telegram (ссылка) Карьера Повтор
101
7
8088
8088
2 месяца назад

Актеры больше не нужны - ИИ генерит рекламу⁠⁠

Неплохо, видно только по движениям глаз, что люди не настоящие.

Сам пробовал генерировать, но чтобы сделать такое видео, нужно потратить пару недель и иметь готовые референсы (картинки). С помощью промтов сложно подобрать всё идеально.

Мы очень активно внедряем ИИ в нашей компании - RAG, ИИ-агенты. Как использовать генерацию видео пока не придумали )

Показать полностью
Программирование Удаленная работа Telegram (ссылка) IT Искусственный интеллект Реклама Программист Python Программа Видео
2
12
8088
8088
2 месяца назад
Юмор для всех и каждого

ИТшники уже не те )⁠⁠

ИТшники уже не те ) IT, Программирование, Удаленная работа, Telegram (ссылка), Фотография, Модели, Фриланс, Программист, IT юмор, Юмор, Telegram, Павел Дуров, Заработок, Python

Разрабы vs Модели )

Я на своей удаленке все время скатываюсь в модель из 2023, потому что холодильники и доставку нужно запретить ))) С трудом держу себя в ИТшника 2023 )))

Показать полностью 1
IT Программирование Удаленная работа Telegram (ссылка) Фотография Модели Фриланс Программист IT юмор Юмор Telegram Павел Дуров Заработок Python
6
2
8088
8088
2 месяца назад

Когда шеф сказал работаем до 6 )⁠⁠

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

Удаленная работа Истории из жизни Программирование IT Telegram (ссылка) Python Карьера Видео Вертикальное видео Короткие видео
2
1
luis2gerallit
luis2gerallit
2 месяца назад
Искусственный интеллект

Как создать игру с помощью нейронной сети: инструкция для начинающих⁠⁠

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

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Автор: Павел Прилуцкий | Источник: ixbt.com

Пояснение

Ещё пару лет назад для создания сценария, ассетов (игровых ресурсов) и игровой логики требовалось нанимать команду сценаристов, художников и программистов. Но с развитием технологий всё изменилось. Чтобы создать игру мечты, теперь достаточно уметь применять на практике такие современные инструменты, как нейронные сети.

Нейросети способны:

  • Придумать сюжет.

  • Сгенерировать графику и музыку.

  • Написать код.

  • И многое другое.

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

Инструкция

Как я уже писал в своём предыдущем материале, посвящённом созданию программ, первым делом необходимо определиться с выбором нейронной сети. Ведь именно от её мозгов (совершенства модели) зависит итоговое качество проекта. Если вы проживаете не на территории России, советую обратить внимание на Grok или ChatGPT. В противном случае лучше всего подойдёт DeepSeek.

1. Скачиваем и устанавливаем Python.

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Установщик Python

2. Открываем нейронную сеть и задаём следующий запрос:

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

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Запрос

3. Теперь всё, что остаётся нам сделать — это подробно составить предложение на родном языке с описанием игры и её внутриигровой логики. Пойдём простым путём и создадим копию популярной космической стрелялки Galaga.

Вводим запрос:

Напиши игру на языке программирования Python: 2D-игра, стрелялка. Главный герой — космический корабль, который вынужден отбиваться от атакующих его инопланетных кораблей. Предоставь полный код игры.

4. Вставляем сгенерированный код в текстовый документ и сохраняем его с расширением .py. Пробуем запустить игру.

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Игра

Пока наша игра мечты напоминает что-то из эпохи Atari 800. Добавим ей текстур, фоновую музыку и звуки выстрелов. Текстуры и музыку можно взять в интернете или сгенерировать самому используся Stable Diffusion и SUNO AI.

Вводим запрос:

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

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Кастомизация

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

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост

Улучшенная игра

Стало намного лучше. Но игры, в которых практически вся логика хранится в одном конфигурационном файле, уже давно никто не пишет. Тем не менее создать визуальную новеллу, платформер или даже копию Doom таким нехитрым способом вполне возможно. Осталось собрать игру в самостоятельный файл .exe.

5. Нажимаем Win+R и в появившееся окно вводим cmd. В командной строке вводим команду:

pip install pyinstaller

6. Не закрывая окна командной строки, переносим файл .py в любую папку и вводим следующие команды:

cd (путь до папки с файлом .py)

pyinstaller --onefile --windowed --icon=assets/icon.ico --add-data «assets;assets» game. py

Как создать игру с помощью нейронной сети: инструкция для начинающих Windows, Компьютерные игры, Python, Разработка, Программирование, Gamedev, Нейронные сети, Длиннопост
  • onefile — собрать всё в один exe-файл.

  • windowed — запускать без консоли (если нужна консоль, уберите этот флаг).

  • icon=assets/icon.ico — установить иконку для exe (если есть).

  • add-data «assets;assets» — включить папку с игровыми ресурсами в сборку.

  • game.py — файл с кодом игры.

Заключение

Конечно, человечество пока не придумало волшебной кнопки «Сделать хорошо», но с появлением нейронных сетей появилась возможность в сотни раз ускорить выполнение рутинных задач, которые ранее требовали найма дорогостоящего специалиста и уймы времени. Потому одновременно забавно и грустно наблюдать, как цены на игры бьют всё новые рекорды. Воистину, жадность корпораций не знает границ.

Оригинал

Показать полностью 6
[моё] Windows Компьютерные игры Python Разработка Программирование Gamedev Нейронные сети Длиннопост
14
6
empenoso
empenoso
2 месяца назад
Лига Инвесторов

Что за Pine Script и как он помогает рисовать свои штуки на графиках TradingView?⁠⁠

Pine Script - это язык программирования, разработанный командой TradingView как Domain Specific Language, то есть специализированный язык для решения конкретной задачи - анализа и визуализации финансовых данных. Он создан для тех, кто хочет строить собственные индикаторы, тестировать торговые стратегии и делать всё это прямо в интерфейсе графика - без установки Python, без импорта исторических котировок и без настройки среды разработки.

Pine Script предельно прост по синтаксису, но в то же время достаточно мощный, чтобы покрыть 95% потребностей розничного трейдера. В нём предусмотрены ключевые блоки: работа с таймсериями, доступ к фундаментальным данным, рисование на графике и даже поддержка таблиц.

Что за Pine Script и как он помогает рисовать свои штуки на графиках TradingView? Программирование, Python, Разработка, Гифка, Длиннопост

Базовый синтаксис: как читать и писать код

Pine Script создан с акцентом на простоту: даже если вы раньше не писали код на нём, освоить базовые конструкции можно за вечер. У каждого скрипта есть чёткая структура, и разобраться в ней - первый шаг к созданию собственного инструмента на TradingView.

Начинается скрипт с указания версии языка:

//@version=6

Это строка обязательна: она сообщает интерпретатору TradingView, какие правила синтаксиса использовать. Шестая версия — самая новая.

Далее идёт определение типа скрипта:

  • indicator() — если вы хотите просто визуализировать данные (например, нарисовать скользящую среднюю, уровни, стрелки).

  • strategy() — если ваша цель — бэктест торговых решений с расчётом сделок, прибыли и убытков.

Чтобы скрипт был гибким, в него добавляют параметры через функцию input(). Например:

lengthMA = input.int(20, title="Период скользящих средних")

Теперь пользователь может сам менять значение прямо из панели настроек на графике.

Что за Pine Script и как он помогает рисовать свои штуки на графиках TradingView? Программирование, Python, Разработка, Гифка, Длиннопост

Рассмотрим базовый пример — аналог “Hello, World” в Pine Script:

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Михаил Шардин, https://shardin.name/?utm_source=tradingview
// 12.04.2025

//@version=6
indicator("Пример скользящих средних", overlay=true)

// Входные параметры
lengthMA = input.int(20, title="Период скользящих средних")
src = input(close, title="Источник данных")

// 1. Простая скользящая средняя (SMA)
smaValue = ta.sma(src, lengthMA)
plot(smaValue, "SMA", color=color.blue, linewidth=2)

// 2. Экспоненциальная скользящая средняя (EMA)
emaValue = ta.ema(src, lengthMA)
plot(emaValue, "EMA", color=color.red, linewidth=2)

// 3. Взвешенная скользящая средняя (WMA)
wmaValue = ta.wma(src, lengthMA)
plot(wmaValue, "WMA", color=color.green, linewidth=2)

// 4. Сглаженная скользящая средняя (SMMA)
smmaValue = ta.rma(src, lengthMA)
plot(smmaValue, "SMMA", color=color.purple, linewidth=2)

// Отображение цены для сравнения
plot(close, "Цена", color=color.black, linewidth=1)

// Легенда для отображения текущих значений
var table legendTable = table.new(position.top_right, 1, 6)
if barstate.islast
table.cell(legendTable, 0, 0, "Тип MA", bgcolor=color.gray)
table.cell(legendTable, 0, 1, "SMA: " + str.tostring(smaValue, format.mintick), bgcolor=color.blue)
table.cell(legendTable, 0, 2, "EMA: " + str.tostring(emaValue, format.mintick), bgcolor=color.red)
table.cell(legendTable, 0, 3, "WMA: " + str.tostring(wmaValue, format.mintick), bgcolor=color.green)
table.cell(legendTable, 0, 4, "SMMA: " + str.tostring(smmaValue, format.mintick), bgcolor=color.purple)

Этот пример Pine Script демонстрирует сразу четыре типа скользящих средних (MA) и сравнивает их между собой на графике. Скрипт устанавливает параметры:

- lengthMA: пользователь может выбрать период скользящих средних (по умолчанию 20).
- src: выбор источника данных (по умолчанию цена закрытия close).

Рассчитывает и отображает четыре типа MA
- SMA (Simple Moving Average) - простая скользящая, синяя линия.
- EMA (Exponential Moving Average) - экспоненциальная, красная линия.
- WMA (Weighted Moving Average) - взвешенная, зелёная линия.
- SMMA (Smoothed Moving Average) - сглаженная, фиолетовая линия.

Все линии накладываются поверх графика цены благодаря overlay=true.

Практические примеры

Пример 1: Индикатор для внутридневной торговли

Этот мой скрипт под названием Morning Rage Indicator предназначен для анализа первых часов торговой сессии. В нём задаётся утренний ценовой диапазон на 15-минутном таймфрейме и отображают уровни High и Low в заданный период — по умолчанию с 8:45 до 10:45. Эти уровни часто служат ориентирами для пробойных стратегий.

Что за Pine Script и как он помогает рисовать свои штуки на графиках TradingView? Программирование, Python, Разработка, Гифка, Длиннопост

// Михаил Шардин, https://shardin.name/?utm_source=tradingview
// 21.03.2025

//@version=6
indicator("Morning Rage Indicator", overlay=true)

// Параметры временных диапазонов
rangeStartHour = input.int(8, "Начало диапазона - час")
rangeStartMinute = input.int(45, "Начало диапазона - минута")
rangeEndHour = input.int(10, "Конец диапазона - час")
rangeEndMinute = input.int(45, "Конец диапазона - минута")

// Источники данных для расчета High/Low диапазона
rangeHighSource = input.source(high, "Источник для Range High")
rangeLowSource = input.source(low, "Источник для Range Low")

// Проверка нового дня
isNewDay = year != year[1] or month != month[1] or dayofmonth != dayofmonth[1]

// Функция для проверки времени
isTime(h, m) =>
hour == h and minute == m

// Определение периода формирования диапазона
isRangePeriod = (hour > rangeStartHour or (hour == rangeStartHour and minute >= rangeStartMinute)) and (hour < rangeEndHour or (hour == rangeEndHour and minute <= rangeEndMinute))

// Расчет максимума и минимума диапазона
var float rangeHigh = 0.0
var float rangeLow = 10e10
var bool rangeCalculated = false

// Сброс диапазона в начале нового дня
if isNewDay
rangeHigh := rangeHighSource
rangeLow := rangeLowSource
rangeCalculated := false

// Обновление диапазона только в указанный период
if isRangePeriod and not rangeCalculated
rangeHigh := math.max(rangeHigh, rangeHighSource)
rangeLow := math.min(rangeLow, rangeLowSource)

// Помечаем диапазон как рассчитанный после окончания периода
if hour == rangeEndHour and minute == rangeEndMinute
rangeCalculated := true

// Получаем цену закрытия в момент окончания диапазона
var float rangeClose = na
if hour == rangeEndHour and minute == rangeEndMinute
rangeClose := close

// Визуализация на графике
bgcolor(isRangePeriod and not rangeCalculated ? color.new(color.blue, 90) : na)

// Рисуем уровни диапазона
plot(rangeCalculated ? rangeHigh : na, "Range High", color.green, 2, plot.style_circles)
plot(rangeCalculated ? rangeLow : na, "Range Low", color.red, 2, plot.style_circles)

// Выводим метки с информацией
var table infoTable = table.new(position.top_right, 1, 1)
if barstate.islast
table.cell(infoTable, 0, 0, "Range High: " + str.tostring(rangeHigh) +
"\nRange Low: " + str.tostring(rangeLow),
bgcolor=color.new(color.gray, 80))

Ключевые функции:

  • isTime() и isRangePeriod определяют нужный временной интервал.

  • rangeHigh и rangeLow обновляются только в рамках этого окна.

  • plot() визуализирует границы диапазона.

  • table показывает итоговые значения прямо на графике.

Вы можете адаптировать код под любые рынки и таймфреймы, изменив время.

Пример 2: Фундаментальный анализ

Pine Script позволяет не только анализировать технические индикаторы, но и загружать фундаментальные данные компаний прямо на график. Это открывает возможности для оценки бизнеса без переключения между платформами и сайтами. Один из таких примеров — анализ показателя Net Profit Margin (чистой рентабельности).

Что за Pine Script и как он помогает рисовать свои штуки на графиках TradingView? Программирование, Python, Разработка, Гифка, Длиннопост

Что это за показатель?
Net Profit Margin (NPM) показывает, какой процент от выручки остаётся у компании после всех расходов — налогов, процентов, административных издержек и прочего. Если NPM выше 10%, это сигнализирует о финансовом здоровье бизнеса. Выше 15% — компания не просто эффективна, а конкурентоспособна даже в кризисные периоды.

Фундаментальный анализ акций в РФ и США

Разбор кода:

//@version=6
indicator("Net Profit Margin: чистая рентабельность", overlay=false)
// Получение квартального значения чистой рентабельности
NPM_quarterly = request.financial(syminfo.tickerid, 'NET_MARGIN', 'FQ')

Функция request.financial() позволяет подгрузить фундаментальные показатели. В данном случае мы берём NET_MARGIN за последний финансовый квартал ('FQ').

// Цвет фона: зелёный — хорошая рентабельность, красный — слабая
bg_color = NPM_quarterly >= 10 ? color.new(color.green, 90) : color.new(color.red, 90)
bgcolor(bg_color, title="Фон рентабельности")

Здесь используется наглядная визуализация: фон графика окрашивается в зависимости от уровня рентабельности. Если маржа ≥ 10% — всё в порядке, если меньше — стоит быть осторожным.

// График и контрольные линии
plot(NPM_quarterly, title="Net Profit Margin", color=color.yellow, linewidth=2)
hline(10, "10% уровень", color=color.silver, linestyle=hline.style_dotted)
hline(15, "15% уровень", color=color.silver, linestyle=hline.style_dotted)

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

Коды полностью представлены на Гитхаб.

Зачем использовать это в реальной торговле?
Представьте, что вы выбираете между двумя акциями. Обе растут на графике, но только у одной стабильная чистая рентабельность выше 15%. Это даёт дополнительное подтверждение: бизнес не просто на подъёме, а действительно зарабатывает. Сильная маржа — защитный буфер в трудные времена.

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

Где брать готовые скрипты?

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

  • BigBeluga - популярные стратегии, часто с понятным описанием и открытым кодом.

  • PineCodersTASC - официальные скрипты по материалам Traders’ Tips, публикуются каждый месяц.

Чтобы использовать скрипт, просто откройте его, нажмите «Добавить на график», а затем — «Скопировать и изменить», если хотите доработать под себя.

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

Заключение

Pine Script – идеальный инструмент для быстрых экспериментов и визуализации торговых идей прямо на графиках TradingView. Он позволяет за 15 минут проверять гипотезы, недоступные стандартным индикаторам.

Не бойтесь начать! Попробуйте изменить примеры из статьи в Pine Editor и добавьте их на график – результат увидите сразу. Удачи!

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

15 апреля 2025 г.

Показать полностью 4
[моё] Программирование Python Разработка Гифка Длиннопост
5
11
hypo69
hypo69
2 месяца назад
Программирование на python
Серия 101 игра на python. Шпаргалки

Как обойти ошибку SSLCertVerificationError при использовании requests в Python и работать с сертификатами⁠⁠

Ошибка SSLCertVerificationError часто возникает при попытке установить соединение с HTTPS-сервером. Это происходит, когда Python не может проверить подлинность SSL-сертификата сайта. Причины могут быть разными: отсутствующие корневые сертификаты, проблемы с сертификатом на сервере или неправильная настройка клиента.

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

🔍 Что такое SSL-сертификат и зачем он нужен?

SSL (Secure Sockets Layer) — это протокол безопасности, который обеспечивает защищённую передачу данных между клиентом и сервером. Он используется для шифрования данных и подтверждения подлинности сервера.

💡 Пример: Алиса и Борис

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

  • Алиса: она знает, что только Борис может расшифровать сообщение, потому что у него есть приватный ключ.

  • Борис: он подтверждает свою личность с помощью сертификата, который содержит его публичный ключ. Этот сертификат выдан надёжным центром сертификации, который гарантирует, что Борис действительно является тем, за кого себя выдает.

SSL-сертификат — это как удостоверение личности для веб-сайта, которое помогает избежать MITM-атак (атака «человек посередине») и обеспечивает безопасность передачи данных.

🛠 Способы решения ошибки SSLCertVerificationError

✅ Способ 1: Отключение проверки SSL (не рекомендуется для продакшн-среды)

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

Как обойти ошибку SSLCertVerificationError при использовании requests в Python и работать с сертификатами Гайд, Python, Инструкция, Программирование, Ssl, Длиннопост

⚠️ Важно: Использовать verify=False стоит только для доверенных источников и в локальной разработке. В продакшн-средах лучше избегать этого метода.

✅ Способ 2: Установка корневых сертификатов (перманентное решение для Windows)

Если вы используете Windows и у вас отсутствуют корневые сертификаты, вы можете установить их вручную. Это решение обеспечит, чтобы библиотека requests могла корректно проверять сертификаты на всех веб-сайтах.

Инструкция для Windows:

  1. Перейдите в папку установки Python. Например:C:\Users\<твой_пользователь>\AppData\Local\Programs\Python\Python312\

  2. Запустите файл Install Certificates.command (или install_certificates.bat, в зависимости от версии Python).

Это действие установит необходимые корневые сертификаты для вашего Python.

✅ Способ 3: Использование библиотеки certifi

Для того чтобы гарантировать корректную проверку SSL-сертификатов, можно использовать библиотеку certifi, которая поставляется с актуальными корневыми сертификатами.

Как обойти ошибку SSLCertVerificationError при использовании requests в Python и работать с сертификатами Гайд, Python, Инструкция, Программирование, Ssl, Длиннопост

Этот способ более безопасен, чем отключение проверки SSL, и является хорошей альтернативой для тех, кто не хочет вручную устанавливать сертификаты.

🛠 Как создать SSL-сертификат на Windows?

Для тестирования и локальной разработки можно использовать самоподписанные сертификаты. Мы рассмотрим два способа их создания: через PowerShell и через командную строку (CMD).

🧰 Способ 1: Создание самоподписанного сертификата через PowerShell

PowerShell позволяет быстро создать самоподписанный SSL-сертификат. Вот пример команды:

Как обойти ошибку SSLCertVerificationError при использовании requests в Python и работать с сертификатами Гайд, Python, Инструкция, Программирование, Ssl, Длиннопост

Экспорт сертификата и ключа:

Как обойти ошибку SSLCertVerificationError при использовании requests в Python и работать с сертификатами Гайд, Python, Инструкция, Программирование, Ssl, Длиннопост

Вы можете использовать эти сертификаты для тестирования локальных серверов.

🧰 Способ 2: Создание сертификата через командную строку (CMD) с помощью openssl

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

  1. Создание самоподписанного сертификата:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout localhost.key -out localhost.crt -subj "/CN=localhost"

  1. Экспорт сертификата в формат PFX:

openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt -passout pass:P@ssw0rd123

  1. Если у вас нет OpenSSL, можно использовать makecert.exe:

makecert -r -pe -n "CN=localhost" -b 01/01/2023 -e 01/01/2030 -sky exchange -sv localhost.pvk localhost.cer
pvk2pfx -pvk localhost.pvk -spc localhost.cer -pfx localhost.pfx

Статья на github 👉 https://github.com/hypo69/1001-python-ru/blob/master/articles/ssl_sertifiactes_in_python/ssl_sertifiactes_in_python.md

Удачной разработки, лёгкого кодинга и никаких SSLError! 💻✨🐍

Показать полностью 4
[моё] Гайд Python Инструкция Программирование Ssl Длиннопост
8
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии