"Data source name not found and no default driver specified" with Access ODBC

Solution 1:

Is there some modification that can be done to make it work without installing 32 bit python and 32 bit pyodbc?

Not really. If you have 32-bit Office installed then you have the 32-bit version of the Access Database Engine (a.k.a. "ACE"), and only 32-bit applications can use it.

The installer for the 64-bit version of the Access Database Engine will abort if it detects 32-bit Office components. There is a way to force the installer to continue, but that is not recommended because it can apparently break Office.

Bottom Line: The "bitness" of your application must match the "bitness" of the installed Access Database Engine. So, practically speaking, your options are

  1. Use 32-bit Python and pyodbc, or
  2. replace your 32-bit Office with the 64-bit version.