My biggest confusion migrating from Python 2 to Python 3.8 has been coming to terms with the strictness of relative package imports. I used to lean heavily on “tools that live right inside a package” but I think the way out is that all executables live outside the package.

Written on