Description
This talk showcases various example scenarios around the ins/outs of managing Python packages. Scenarios range from intra-package problems of how to build a package, inter-package problems of how to connect packages, to general usage/environment/setup problems that developers have a hard time debugging. For each of these scenarios, I'll highlight the pros/cons, best practices, and how to overcome the issues developers commonly face.
Some examples:
- installing packages from public, local file system, git (ssh + https), and how this affects deployment procedures
- handling systems with multiple Python versions or package managers
- how app structures and imports can affect testability
- relative vs absolute imports
- virtual environments
- setup scripts
- package versioning (why, when, how)
- how new code changes could not be taking effect (old .pyc files, or updated import not catching)
- handling sub-packages/dependencies that utilize parent configuration files
- working with PYTHONPATH
- executing python as modules or scripts