python __init__.py proved to be irrelevant in 3.4?
Question: I am running python 3.4 on the main.py file in the same directory. /root
directory is not in python path. It is simply the current directory that the
script is executing in. All pycache folders were deleted after each test

So why exactly is init.py important? I thought it was necessary as stated in
this post:

[What is __init__.py for?](http://stackoverflow.com/questions/448271/what-is-
init-py-for)

> If you remove the init.py file, Python will no longer look for submodules
> inside that directory, so attempts to import the module will fail.

Right now, it seems to me that init.py is nothing more than a **optional**
constructor where we do housekeeping and other optional things like specifying
the "all" variable, etc. But not a critical item to have

mage showing the results of the test:

[![enter image description
here](http://i.stack.imgur.com/TQd2Z.png)](http://i.stack.imgur.com/TQd2Z.png)

What is going on here?


Answer: * * *

## Answer

**essentially we dont need init.py and its purpose is for legacy and optional
housekeeping things (2.7 vs 3) you may or may not want to do or need. But at
the same time, they have slightly different behavior during more complex
parsing which should also be accounted for if you are building something more
complex**

refer to the following links for more reading material

<https://www.python.org/dev/peps/pep-0420/#namespace-packages-today>

[How do I create a namespace package in
Python?](http://stackoverflow.com/questions/1675734/how-do-i-create-a-
namespace-package-in-python)

[What's the difference between a Python module and a Python
package?](http://stackoverflow.com/questions/7948494/whats-the-difference-
between-a-python-module-and-a-python-package)

<http://programmers.stackexchange.com/questions/276888/python-namespace-vs-
module-with-underscores>

