Python does not detect .pyc files
Question: I am using Python 3.2 (both for building and executing), and here is my
question.

I intend to ship my python application with the following setup:

There is a main script (say, `Main.py`), that is using a compiled module, say
`Module1.pyc`). To be precise, the directory structure is:

    
    
    .\Main.py
    .\__pycache__\Module1.cpython-32.pyc
    

When I use the python interpreter to run the main script, it fails to find the
module with the following error:

    
    
    Traceback (most recent call last):
      File "Main.py", line 10, in <module>
        import Module1
    ImportError: No module named Module1
    

* * *

Note that I have added the current directory to `PYTHONPATH` environment
variable, and is part of `sys.path`. Also, the inner `__pycache__` directory
is also added, and is visible in `sys.path`.

Not sure why Module1 is not found. Am guessing, it could be because of the
different file name - Module1.cpython-32.pyc? But, then that is how the Python
3.2 interpreter generates it.


Answer: Have a look at [PEP-3147](http://www.python.org/dev/peps/pep-3147/). They
describe how the python-lookup mechanism works.

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

So in your concrete case: Put the file Module1.pyc directly in the root
folder.

