Is __init__.py not required for packages in Python 3.3+

Overview @Mike’s answer is correct but too imprecise. It is true that Python 3.3+ supports Implicit Namespace Packages that allows it to create a package without an __init__.py file. This is called a namespace package in contrast to a regular package which does have an __init__.py file (empty or not empty). However, creating a namespace … Read more

Relative imports – ModuleNotFoundError: No module named x

TL;DR: You can’t do relative imports from the file you execute since __main__ module is not a part of a package. Absolute imports – import something available on sys.path Relative imports – import something relative to the current module, must be a part of a package If you’re running both variants in exactly the same … Read more

Python 3 ImportError: No module named ‘ConfigParser’

You can instead use the mysqlclient package as a drop-in replacement for MySQL-python. It is a fork of MySQL-python with added support for Python 3. I had luck with simply pip install mysqlclient in my python3.4 virtualenv after sudo apt-get install python3-dev libmysqlclient-dev which is obviously specific to ubuntu/debian, but I just wanted to share … Read more