Python debugging with Python PDB - commands, post mortem and much more | Python PDB tutorial

  Рет қаралды 5,910

Red Eyed Coder Club

Red Eyed Coder Club

Күн бұрын

Пікірлер: 60
@МартаСнегирь-б6л
@МартаСнегирь-б6л 2 жыл бұрын
Honestly, I did not expect that the lesson could be so simple and clear, even for me. Thanks for the great explanation
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
What video should I make next? Follow me @: Telegram: t.me/red_eyed_coder_club Twitter: twitter.com/CoderEyed Facebook: fb.me/redeyedcoderclub
@alexdin1565
@alexdin1565 2 жыл бұрын
maybe a tutorial like this kzbin.info/www/bejne/sJ6ZiISIppmqj7s
@luckcode9416
@luckcode9416 2 жыл бұрын
Олег, запишите, пожалуйста, видео как производить миграции в базу данных, если модели были созданы не через db.model, а через Base = declarative_base(). Я попытался самостоятельно сделать модели этим способом, но для миграции требуется некая сущность "db" (flask db migrate), она же являлась экземплятом SQLAlchemy из flask_sqlalchemy. А что делать в случае, когда этой db нет? Если можно, то подскажите, пожалуйста, мне из этой ситуации выкрутиться )
@luckcode9416
@luckcode9416 2 жыл бұрын
Или то что я делаю это извращение, и если дано использовать flask_sqlalchemy, то его и надо использовать?
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Миграции делаются с помощью flask-migrate, который в свою очередь основан на alembic. Его (flask-migrate) нужно установить отдельно и настроить соответственно. Мне кажется, что проще переопредилить экземпляр SQLAlchemy через flask-sqlalchemy. При этом не так уж много нужно делать, да и имеющаяся база данных не будет затронута.
@МартаСнегирь-б6л
@МартаСнегирь-б6л 2 жыл бұрын
Honestly, I didn't expect the lesson to be so easy to understand, even for me. Thanks to the author for the video.
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thanks for watching, and for the comment!
@alexdin1565
@alexdin1565 2 жыл бұрын
I Love when KZbinrs make clear tutorials! Awesome work! keep it up!
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you very much!
@valentinocristofoletto3614
@valentinocristofoletto3614 2 жыл бұрын
very-very clear and simple! I used before Visual studio code, in particular for the debug. Had a lot of problem. IDLE+PDB is the best useful kit to debug Python modules! Thanks
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you for the comment!
@cristobaljvp
@cristobaljvp Жыл бұрын
Very detailed and clear, thanks man
@ЗаработайБезРаботы
@ЗаработайБезРаботы 2 жыл бұрын
Awesome video! Easy to follow, only the essential information. Thanks
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@СергейАлександрович-п6я7т
@СергейАлександрович-п6я7т 2 жыл бұрын
A great debugging lesson turned out, thank you!
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@kostya9169
@kostya9169 2 жыл бұрын
Good video tutorial on Python, thank you very much for your work.
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@EnglishRain
@EnglishRain 2 жыл бұрын
You're as legendary as Pink Floyd, so knowledgeable about Python.
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you! But I can't to be as legendary as Pink Floyd. Sad but true :D
@EnglishRain
@EnglishRain 2 жыл бұрын
@@RedEyedCoderClub damn as legendary as Metallica too!
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you :D
@farzadmf
@farzadmf 2 жыл бұрын
SUPER nice walkthough, thank you!
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@markbrown5454
@markbrown5454 2 жыл бұрын
Python is a very powerful programming tool. It is worth studying and using in your work. And using debuggers will greatly simplify and improve the quality of work.
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thanks for comment!
@AnnaNEast
@AnnaNEast 2 жыл бұрын
Now I know how to use PDB commands to debug Python code.
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you very much!
@luckcode9416
@luckcode9416 2 жыл бұрын
Олег, здравствуйте! Смотрю ваш курс по Фласк на другом канале и нигде не могу найти ответ на вопрос. Подскажите, пожалуйста, в чем разница между тем, как вы создавали модель для бд: db = SQLAlchemy(app) class Post(db.Model)... и тем, что в интернете в статьях описывается: from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Post(Base): Это идентичные записи или есть какое-то отличие? Очень тяжело разобраться, когда есть куча вариантов разных записей похожих действий)
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Так писали еще при Царе-Горохе и при Николае II Кровавом. Это устаревший синтаксис, а в доках SQLAlchemy это прямо указано - Legacy. Вот ссылка: docs.sqlalchemy.org/en/13/orm/extensions/declarative/basic_use.html
@luckcode9416
@luckcode9416 2 жыл бұрын
​@@RedEyedCoderClub Большое спасибо! Я открыл новую документацию, а там такое же объявление с этим declarative_base. Это просто перекочевавшее наследие они сохранили для тех, кто освоил предыдущую версию? Ютуб почему-то удаляет комментарии со ссылками, но вот после .орг статья en/14/orm/quickstart.html
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Верное замечание. Прошу прощения тупанул. Я писал через создание класса SQLAlchemy() потому что использовал flask-sqlalchemy, а не SQLAlchemy напрямую. Если мы посмотрим в исходник класса SQLAlchemy(), то увидим как раз тот синтаксис о котором вы написали. github.com/pallets-eco/flask-sqlalchemy/blob/e5bf821072de0d55ff92891432004322864a7265/src/flask_sqlalchemy/__init__.py#L647 используется declarative_base(), только под капотом. SQLAlchemy можно использовать и без Flask/Django, а просто с обычными скриптами.
@maxzhenzhera
@maxzhenzhera 2 жыл бұрын
Спасибо за познавательное видео! Обычно пользуюсь PyCharm дебагом, где это и проще, и нагляднее, но давно интересовался, как работать напрямую через стандартную библиотеку (никак руки не доходили). За студентов из группы Pink Floyd - моё почтение вдвойне)
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
:) Спасибо. Основное преимущество PDB - он всегда под рукой.
@quickliker
@quickliker 2 жыл бұрын
Олег, добрый вечер! Очень рад, что снова нашёл вас на KZbin, у вас очень интересные и, самое главное, понятные видеоуроки без лишней информации Подскажите пожалуйста, есть ли вы в социальных сетях? И есть ли возможность с вами иногда консультироваться по поводу языка Python?
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Добрый день и спасибо. Я есть кое-где, но сильно не уверен на счет консультаций. Если у вас есть вопросы - спрашивайте.
@quickliker
@quickliker 2 жыл бұрын
@@RedEyedCoderClub а вы больше не ведёте русскоязычный канал?
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
@@quickliker пока нет, если ситуация изменится, то я, наверное, вернусь. Были такие планы, но англоязычный канал показал лучшие результаты.
@quickliker
@quickliker 2 жыл бұрын
@@RedEyedCoderClub а будут ли у вас видео по парсингу? Или ваши, уже записанные уроки, не потеряли актуальность до сих пор? Хотелось бы побольше узнать о парсинге разных сайтов
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Они актуальны и по сей день, но с учетом измений верстке сайтов. В остальном все работает прекрасно. Но я еще планировал делать видео по парсингу.
@h3ckphy246
@h3ckphy246 2 жыл бұрын
Don't you use type hints?
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
I use, but not in tutorials - additional explanations lengthen videos. Would you like a video about type hints? They are quite useful, especially when you read your old code, that you didn't touch 6 months, and just don't remember what it does.
@h3ckphy246
@h3ckphy246 2 жыл бұрын
@@RedEyedCoderClub I thought so, you're just simplifying sample codes. =) Yeah, I agree, it's a cool feature, but for me it feels like dynamically typed programming was a bad experiment and we're back to types. Same situation in JS and PHP. I think it's a good idea for a new video, because this feature gains popularity
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Ok, got it. And wrote your suggestion down :D
@andreylagno2372
@andreylagno2372 2 жыл бұрын
very good video
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@ДимаРоманов-з4з
@ДимаРоманов-з4з 2 жыл бұрын
excellent thank you
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thanks for comment!
@OlegBosi
@OlegBosi 2 жыл бұрын
coooool
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you!
@h3ckphy246
@h3ckphy246 2 жыл бұрын
I'd like to watch something about type hints 🙂
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thanks for your suggestion! :D
@duke007x3
@duke007x3 2 жыл бұрын
Tnx!
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thank you for comment!
@sashapomin
@sashapomin 2 жыл бұрын
power script
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Thanks for comment!
@luckcode9416
@luckcode9416 2 жыл бұрын
Олег, здравствуйте! Прошу помощи, не могу понять, что не так, странная ошибка в самом объекте pagination. Это урок по фласку, создание пагинации. Почему на фласковском объекте Pagination такая ошибка? if q: posts = Post.query.filter(Post.title.contains(q) | Post.body.contains(q)) # .all() else: posts = Post.query.order_by(Post.created.desc()) pages = posts.paginate(page=page, per_page=5) print(pages) for i in pages.items(): print(i.title) File "/home/max/me/flask/app/posts/blueprint.py", line 58, in index for i in pages.items(): TypeError: 'list' object is not callable
@RedEyedCoderClub
@RedEyedCoderClub 2 жыл бұрын
Потому что атрибут .items - это не метод, а свойство. Нужно убрать скобки и все должно работать нормально.
Command-Line Python Debugging with pdb
12:53
NeuralNine
Рет қаралды 29 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 62 МЛН
Modern Python logging
21:32
mCoding
Рет қаралды 211 М.
Intro to Python Mocks | Python tutorial
18:42
Red Eyed Coder Club
Рет қаралды 89 М.
How To Use the Python Debugger
29:07
ProgrammingKnowledge
Рет қаралды 23 М.
Dive Into The Details: Disassembling Python Code
15:14
NeuralNine
Рет қаралды 9 М.
Intro to Python Mocks #2: Mocking Exceptions | Python tutorial
15:54
Red Eyed Coder Club
Рет қаралды 17 М.