Since it took quite a bit of time for me to figure out the solution to this problem, I decided to write a quick reminder here.

I was working on a web application written in Bottle.py and everything was going smoothly until I decided to debug a function using the PyDev debugger in Eclipse.

Long story short there was no way to make the debugger work even if the same debugger was working perfectly fine in the unit tests.

After several tests I was able to understand that the PyDev debugger is incompatible with the option “reloader=True” of the bottle app.

So you can run your app in this way:

application.run(
    host=your_host,
    port=your_port,
    debug=True,
    reloader=True
)

and it is wonderful because the app will reload by itself every time you change a python file,

but if you want to run the code in the PyDev debugger you need to start your app in this way:

application.run(
    host=your_host,
    port=your_port,
    debug=True
)