Python и переменные окружения | Где и как хранить секреты в коде | .env, .gitignore

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • ⚡️ Уроки Python для начинающих. Python и переменные окружения. Как нужно хранить конфиденциальная данные в коде, логины, пароли, ключи и так далее.
    🔥 Доступ в приват | Поддержать проект:
    boosty.to/pyth...
    / pythontoday
    yoomoney.ru/to...
    🔥 Telegram канал к кучей ништяков из видео:
    t.me/python2day
    💰 Стать спонсором канала:
    / @pythontoday
    ****Ссылки****
    Дешевый/надежный сервер в Европе:
    zomro.com/?from...
    promo_code:
    zomro_246874
    Хороший proxy сервис:
    proxy6.net/a/1...
    НЕЙРОСЕТИ + PYTHON | Преобразование текста в речь на Python, Точность 100%
    • НЕЙРОСЕТИ + PYTHON | П...
    НЕЙРОСЕТИ + PYTHON | Генерация изображений из текста | OpenAI, ChatGPT
    • НЕЙРОСЕТИ + PYTHON | Г...
    С нуля до 100 000 за полгода | Что должен знать JUNIOR PYTHON разработчик в 2023
    • С нуля до 100 000 за п...
    Секреты парсинга на Python | Как зарабатывать больше на фрилансе | Парсинг сайтов
    • Секреты парсинга на Py...
    Распознавание атомобильных номеров с помощью Python:
    • РАСПОЗНАВАНИЕ АВТОМОБИ...
    Вычисляем по IP с помощью Python | Как определить местоположение по IP:
    • Вычисляем по IP с помо...
    Три программы на Python для твоего портфолио на GitHub:
    • Три программы на Pytho...
    Что такое фишинг и как не попасться? | Генератор QR код на Python:
    • Что такое фишинг и как...
    Парсинг криптобиржи | Торговый бот | API криптобиржи:
    • Парсинг криптобиржи | ...
    Python с нуля | if _name_ == '__main__' | Зачем? И почему нужно использовать
    • Python с нуля | if __n...
    Асинхронный парсинг на Python | Ускоряем код в 10 раз
    • Асинхронный парсинг на...
    Парсинг на Python | Подмена IP-адреса | Запросы через прокси
    • Парсинг на Python | По...
    Парсинг динамического сайта на Python + Telegram бот на AIOGram | Requests, AIOGram, API, JSON
    • Парсинг динамического ...
    Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг):
    • Пишем Telegram бота на...
    Плейлист по распознаванию лиц на Python:
    • Распознавание лиц | Fa...
    Плейлист по парсингу сайтов на Python:
    • Парсинг/Scraping
    Плейлист по Instagram боту:
    • Instagram Bot на Pytho...
    Плейлист по Linux для новичков:
    • Linux для начинающих
    ****Соц.сети****
    Telegram: t.me/python2day
    #обучение #программирование #python #фриланс

ความคิดเห็น • 93

  • @vigauss1889
    @vigauss1889 ปีที่แล้ว +31

    Таких людей единицы, большое тебе, человеческое спасибо за твой вклад в образование, за то, что делишься опытом и разжевываешь всё! Спасибо за информацию и за твой труд!

    • @PythonToday
      @PythonToday  ปีที่แล้ว +2

      Большое спасибо за поддержку!

  • @НовакДжокович-ж8т
    @НовакДжокович-ж8т ปีที่แล้ว +10

    Даешь ООП в студию! многие ждут! полезные материалы у тебя - так держать!

  • @anatolyiredko9817
    @anatolyiredko9817 ปีที่แล้ว +6

    Уже думал кота не будет, но в конце видео появился! спс :)

    • @PythonToday
      @PythonToday  ปีที่แล้ว +2

      Спасибо, что смотришь до конца)

  • @webmasters7133
    @webmasters7133 ปีที่แล้ว +3

    не знал что можно было написать в файл .env а потом через библиотеку dotenv его вызвать и использовать. Полезно было. Огромное спасиибо друг!

    • @feelinsense
      @feelinsense ปีที่แล้ว

      А в чём разница между этим и созданием стороннего файла и импортом токенов и прочего из него? Только ещё какую-то библиотеку устанавливать...

  • @deus7204
    @deus7204 ปีที่แล้ว +8

    Спасибо за контент! Второй лайк за кота)

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Благодарю за поддержку!

  • @andreyruban4554
    @andreyruban4554 ปีที่แล้ว +7

    Круто - обожаю вашу уроки). А по ООП будет цикл?)

  • @peveka3191
    @peveka3191 ปีที่แล้ว +2

    Здравствуйте! Очень классный и полезный видеоролик. Спасибо Вам за вклад в наше обучение!

    • @PythonToday
      @PythonToday  ปีที่แล้ว +1

      Большое спасибо за поддержку!

  • @wanderinginthedark1978
    @wanderinginthedark1978 ปีที่แล้ว +4

    Красавчик, короткое и информативное видео) пока с утра сходил на горшок - не залипал в шортсы, а узнал полезную инфу, обнял приподнял брат)

    • @PythonToday
      @PythonToday  ปีที่แล้ว +1

      Спасибо за поддержку брат!)

  • @Zer-st6qv
    @Zer-st6qv ปีที่แล้ว +4

    Спасибо! Лайк, коммент и донат в поддержку ❤ ps не знал про способ передачи переменных окружения при запуске скрипта. Красава, спасибо за годный материал!

    • @PythonToday
      @PythonToday  ปีที่แล้ว +1

      Благодарю за поддержку!

  • @Stas-ir3gh
    @Stas-ir3gh ปีที่แล้ว

    Ого кто-то смог по человечески это объяснить. Спасибо!

  • @rinatyagafarov5328
    @rinatyagafarov5328 ปีที่แล้ว +1

    Благодарю за видео!

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Благодарю за фидбэк!

  • @user_-Vovchik
    @user_-Vovchik ปีที่แล้ว +1

    Спасибо огромное. Вообще не знал об этом

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Надеюсь было полезно) Спасибо за фидбэк!

  • @Александр-х4о4ш
    @Александр-х4о4ш ปีที่แล้ว +1

    Ещё в PyCharm в конфигурации запуска переменные можно указать, тоже бывает удобно

    • @PythonToday
      @PythonToday  ปีที่แล้ว +3

      На сервере не будет ни PyCharm ни VSCode))

  • @useruser-gl5es
    @useruser-gl5es ปีที่แล้ว +3

    А я использую конструкцию:
    from environs import Env
    # Теперь используем вместо библиотеки python-dotenv библиотеку environs
    env = Env()
    env.read_env()
    BOT_TOKEN = env.str("BOT_TOKEN") # Забираем значение типа str
    это лучше или хуже?

    • @PythonToday
      @PythonToday  ปีที่แล้ว +2

      Это ведь один из вариантов, если удобно и привычно - 👍

    • @forspyke
      @forspyke ปีที่แล้ว +1

      Не ты используешь, а автор проекта, котрый ты себе скачал. environs предоставляет более гибкие возможности, такие как проверка наличия переменных, значения по умолчанию и даже валидацию значений. В то время как dotenv - проста и легковесна. Всё зависит от потребностей проекта, если тебе тупо ключ от бота сохранить, - то хватит и dotenv

  • @andrew-ld1jg
    @andrew-ld1jg ปีที่แล้ว +1

    Спасибо!❤

  • @ВВЗ
    @ВВЗ ปีที่แล้ว +1

    Полезно, спасибо.

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Спасибо за фидбэк!

  • @Ragnar-mb5rx
    @Ragnar-mb5rx ปีที่แล้ว +1

    Привет. Смотрю все твои видосы, твой канал один из моих любимых по питончику. Каждый видос очень интересный и в телеге постоянно годноту скидываешь. Уже пару книг прочитал по твоей рекомендации и книги реально интересные были.
    Хочу спросить твоего совета как у человека имеющего авторитет в данном вопросе:)
    Я освоил азы питона. Могу писать простейшие скрипты. Немного даже в ООП подразобрался вроде как:)
    Каким способом лучше продолжать совершенствовать навыки, лучше начать пет-проект свой какой то или же например на где то ещё бесплатный курс по языку пройти? Подскажи пожалуйста.
    Спасибо тебе за твою работу. Каждый твой видос очень мотивирует дальше развиваться в этом направлении.
    Удачи в развитии канала. Ждём новой годноты:))

  • @Тілек-я6ы
    @Тілек-я6ы ปีที่แล้ว +1

    Ты читаешь мои мысли

  • @АнатолийЗемсков-з7м
    @АнатолийЗемсков-з7м ปีที่แล้ว +2

    Можно шифровать файлы с кредами при помощи ansible-vault

    • @russiantime778
      @russiantime778 ปีที่แล้ว +1

      Мне кажется это самое правильное решение, если где-то на GitHub надо хранить.

  • @rogersmith3141
    @rogersmith3141 8 หลายเดือนก่อน

    "Любители виндовс " )))))
    *за кота лайк!

  • @shyhardrols8851
    @shyhardrols8851 ปีที่แล้ว +1

    большое спасибо, за ответ на мой вопрос)

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Надеюсь полезно!

    • @shyhardrols8851
      @shyhardrols8851 ปีที่แล้ว

      @@PythonToday Полезно, я знал только как доп файл конфиг делать, все остальное было не известно

  • @SomeoneNoone-zv3tv
    @SomeoneNoone-zv3tv 5 หลายเดือนก่อน +1

    У меня не получилось сделать как в видео dotenv. Предполагаю, что устарело видео. В файле .env надо писать в формате KEY =123456 именно так, без пробела и ковычек. Далее в файле settings надо импортировать from dotenv import load_dotenv, find_dotenv
    load_dotenv(find_dotenv())
    ну и вызывать переменные из .env в виде: KEY = os.getenv('KEY')
    Сам файл .env должен находится в той же папке, что и settings

  • @evgenykampiler3307
    @evgenykampiler3307 3 หลายเดือนก่อน

    И кстати я ждал как вытащить пароли из vault

  • @RobRiddle-q7i
    @RobRiddle-q7i 8 หลายเดือนก่อน

    Спасибо, брат

  • @musicsrise
    @musicsrise ปีที่แล้ว +1

    Будет полезно, чтобы получше обезопасить api-secret в django)
    В теории можно шифровать через какой-нибудь hash. Как в бд, но это муторно. Если не сложно, сделай туториал по docker для пентестеров и вообще для тестировщиков.

    • @PythonToday
      @PythonToday  ปีที่แล้ว +1

      "туториал по docker для пентестеров и вообще для тестировщиков." А чего это, докер для пентестеров? Я хз))

    • @musicsrise
      @musicsrise ปีที่แล้ว

      ​​@@PythonToday hacker lb если быть точнее

    • @musicsrise
      @musicsrise ปีที่แล้ว

      ​​@@PythonToday hacker lab ***

  • @Neko-sr4wz
    @Neko-sr4wz ปีที่แล้ว +5

    PythonToday снова удивляет!
    ЛУЧШИЙ КАНАЛ В СНГ ПО ПРАКТИКЕ!
    от заставки опять трусы слетели, я забыл придержать((
    P.S.: я инвалид и не нашел контакт( написал какому-то Cain в телеграмме) все таки придется покупать доступ в твой чат)

  • @Rejgan318
    @Rejgan318 ปีที่แล้ว +1

    Самое главное и не рассказал чем отличается dotenv от обычного конфига. И что все будет работатать и без .env файла, если переменные окружения уже установлены раньше другим способом

    • @Rulezzz3
      @Rulezzz3 ปีที่แล้ว +1

      Тоже не понял разницы, кроме как это так принято

    • @kapedalex1996
      @kapedalex1996 หลายเดือนก่อน

      Почему нельзя просто записать пароли в yaml/json, и добавить его гитигнор? Зачем сначала заливать их в переменные, а потом читать переменные в код?

  • @evgenykampiler3307
    @evgenykampiler3307 3 หลายเดือนก่อน

    У нас в винде еще используется Ини файлы. Я логины храню открыто а пароли в мд5+ свой ключ

  • @hanma83292
    @hanma83292 11 หลายเดือนก่อน

    Вгень!🔥🔥🔥

  • @dmitriysavinov9906
    @dmitriysavinov9906 ปีที่แล้ว +1

    Видишь кота - ставишь лайк! :)

  • @stankors9708
    @stankors9708 11 หลายเดือนก่อน

    что если я храню токен телеграм бота в основном файле? его легко стырить с сервера?что тогда мешает также с конфиг

  • @АндрейЧибисов-ц9е
    @АндрейЧибисов-ц9е 6 หลายเดือนก่อน

    помоги пожа́луйста. Собираю скрипт с помощью pyinstaller и потом когда передаю на другой пк exe файл то он требует .env файл

  • @МаксимОснова-х5л
    @МаксимОснова-х5л ปีที่แล้ว

    привет, видел твое видео о коде для отправки мейлов, но у меня вопрос, как можно написать код, чтобы он автоматически чередовал и отправлял 1 из 4 текстов на почты указаные мной в списке, если сможешь мне помочь буду очень благодарен, заранее спасибо!

  • @MinzdraffRU
    @MinzdraffRU ปีที่แล้ว

    echo "%%" в windows не работает ... Последний метод с вводом переменной перед запуском программы в Windows тоже не работает

  • @anikinonline
    @anikinonline 9 หลายเดือนก่อน

    Я вот чего не понимаю: . env, по сути такой же файл, как и любой файл . py. Какая разница файл с каким расширением использовать, ведь вся суть сводится к тому, чтобы не забыть добавить файл с секретами в гитигнор.

  • @kawainatural6978
    @kawainatural6978 8 หลายเดือนก่อน

    А какой смысл этого .env, если мы все равно добавляем его в гит игнор и это получается тоже самое, что мы бы создали config.py и так же добавили его в гит игнор. Объясните пожалуйста этот момент, какой профит мы получаем с этой либы.

    • @zakharka3938
      @zakharka3938 7 หลายเดือนก่อน

      В случае config.py программа работает с питоновскими переменными. В случае файла .env программа работает с любыми переменными окружениями, т.е. файл .env является опциональным.

  • @allmazd
    @allmazd ปีที่แล้ว

    А подскажите как сделать такое же крутое отображение в терминале?

  • @Synceditxboxoffice
    @Synceditxboxoffice ปีที่แล้ว +1

    programmer from russia means hacker ❤

    • @PythonToday
      @PythonToday  ปีที่แล้ว +1

      Why do u think so? xD

    • @Synceditxboxoffice
      @Synceditxboxoffice ปีที่แล้ว +1

      @@PythonToday cause the majority are from russia and china

  • @shortvideos9955
    @shortvideos9955 ปีที่แล้ว

    Дружищще, респект за видео👍 Подскажи,как решить проблему с кодировкой при выводе кириллицы в терминал в vs code? Или это не решаемо в этом IDE?

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Благодарю за фидбэк! Не совсем понимаю при чем здесь ide, если вы работаете на windows, то используйте параметр encoding при работае с файлами и явно указывайте кодировку.

    • @musicsrise
      @musicsrise ปีที่แล้ว

      With open('filename', 'w', encoding='utf-8') as file: # если не ошибаюсь.

    • @shortvideos9955
      @shortvideos9955 ปีที่แล้ว

      @@musicsrise спасибо, это если с файлами работаешь, а если просто вывести принт в терминал с кириллицей, то выводит ромбики с вопросительными знаками, стоит в настройках utf-8

    • @musicsrise
      @musicsrise ปีที่แล้ว +2

      @@shortvideos9955 ну я себе за привычку взял, если какой-то файл импортирую, то указываю encoding. Также если получаю данные с сайта, записываю их в файл.

    • @musicsrise
      @musicsrise ปีที่แล้ว +2

      @@shortvideos9955 А так тогда тебе надо в настройки самого терминала лезть

  • @СултанОтабеков-з3п
    @СултанОтабеков-з3п ปีที่แล้ว

    Здравствуйте, я недавно начел изучать aiogram и создавать ботов, я столкнулся с такой проблемой что бот который находится в группе с правами администратора и может читать сообщение от других пользователей группы но не может читать (ловит) сообщении от других ботов. Как можно решить эту проблему? Подскажите пожалуйста

    • @feelinsense
      @feelinsense ปีที่แล้ว

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

  • @Vladimir_F609
    @Vladimir_F609 ปีที่แล้ว +1

    Любители windows, храни нас Бог! 😂 у всех получилось в терминале коммандой 'set'?

    • @Vladimir_F609
      @Vladimir_F609 ปีที่แล้ว +1

      Echo "%API_KEY%" выводит: "%API_KEY%"! А не сам ключ😢

    • @feelinsense
      @feelinsense ปีที่แล้ว +1

      Такая же фигня :(
      Делал через setx API_ID, 22222 - работает, но только на число. Но и этот способ добавляет переменную в среду для юзера в виндовс, а не локально в окружение. Проще говоря на компьютер, в аккаунт который заходишь...
      Раньше пользовался конфигом и импортировал из него переменные и бед не знал. Попробовал "правильно" и чёт пока 2 дня потерял... Безрезультатно...

  • @diyorbek553
    @diyorbek553 ปีที่แล้ว

    покажи как скачать видео с ютуба некоторые библиотеки перестали работать после обновления защиты ютуба (pytube, youtube_dl, ...)
    Заранее спасибо ;)

    • @diyorbek553
      @diyorbek553 ปีที่แล้ว

      Есть только один способ загрузки через токен
      запросы ограничены

  • @ciklomat
    @ciklomat ปีที่แล้ว

    ok

  • @shohjaxon_official001
    @shohjaxon_official001 ปีที่แล้ว +3

    Привет Я УЗБЕК 🇺🇿🦾

  • @Andy-mv6kk
    @Andy-mv6kk หลายเดือนก่อน

    0% Воды,
    99.9% Информации

  • @Ariet_Amanbekov
    @Ariet_Amanbekov ปีที่แล้ว +2

    Привет, очень полезные уроки!!!
    Можете написать скрипт для массовую отправку на тг?

  • @user-uh2rs8fi8b
    @user-uh2rs8fi8b ปีที่แล้ว +1

    Спасибо

  • @soulevance9667
    @soulevance9667 5 หลายเดือนก่อน

    Одно слово - меценат.

  • @averse27
    @averse27 ปีที่แล้ว

    Привет, вопрос не по теме, у тебя были проблемы со звуком в Kali? я его установил на виртуальную машину, и звук у меня хрипящий брал две версии с официального сайта: под виртуалку и обычный десктоп, везде эта проблема, решения найти быстро не смог.
    если у тебя было тоже самое, подскажи как исправить, пожалуйста.

    • @PythonToday
      @PythonToday  ปีที่แล้ว +1

      Привет, ставил десятки раз, проблем не было

    • @averse27
      @averse27 ปีที่แล้ว

      @@PythonToday спасибо за ответ)