Category: Python
Python tutorials
“Externally managed environments”: when PEP 668 breaks pip
You’re on a new version of Linux, you try a pip install, and it errors out, talking about “externally managed environments” and “PEP 668”. What’s going on? How do you solve this? Let’s see: What the problem looks like, and what causes it. The places you are likely to encounter it. A variety of solutions, depending on your use case. Symptoms: failed installs Consider the following Dockerfile, using a pre-release of Debian “Bookworm” 12, which will be released in June […]
Read moreEfficient String Concatenation in Python
String concatenation is a common operation in programming. It involves joining two or more strings to create a single new string. You’ll find several tools and techniques for concatenating strings in Python, each with its own pros and cons. In this tutorial, you’ll go through the most common tools and techniques for concatenating strings. You’ll also code examples for each of them, which will help you choose the best option for your specific problems. In this tutorial, you’ll: Understand what […]
Read moreGoodbye to Flake8 and PyLint: faster linting with Ruff
Flake8 and PyLint are commonly used, and very useful, linting tools: they can help you find potential bugs and other problems with your code, aka “lints”. But they can also be slow. And even if they’re fast on your computer, they may still be slow in your CI system (GitHub Actions, GitLab, or whatever else.) Happily, there’s a new linter available, Ruff, which is much faster. And it supports many of the same lints, including those from many of Flake8’s […]
Read morePublishing Python Packages to PyPI
PyPI is the public hosting service where open-source Python packages live. When you pip install a package, that’s where it fetches it from. In this course, you’ll learn all about the structures of a package and how to upload your own to the PyPI server. In this video course, you’ll learn about: Why packages and virtual environments exist How to structure a package How to use build systems The contents of the pyproject.toml file How to use the build and […]
Read moreSOLID Principles: Improve Object-Oriented Design in Python
When you build a Python project using object-oriented programming (OOP), planning how the different classes and objects will interact to solve your specific problems is an important part of the job. This planning is known as object-oriented design (OOD), and getting it right can be a challenge. If you’re stuck while designing your Python classes, then the SOLID principles can help you out. SOLID is a set of five object-oriented design principles that can help you write more maintainable, flexible, […]
Read more