[Python-Dev] Renaming sqlite3 (original) (raw)

Thomas Heller theller at python.net
Mon Apr 3 15:40:59 CEST 2006


Martin v. Löwis wrote:

I just tried creating a pysqlite VS project, and ran into a naming conflict: the Windows DLL is called sqlite3.dll. So if it is on sys.path

import sqlite3 might find the DLL, instead of finding the package. Python then finds that there is no entry point in sqlite3, and raises an ImportError. I see three options: 1. rename sqlite3 again 2. link sqlite3 statically into sqlite3.pyd 3. stop treating .DLL files as extension modules I'm actually leaning towards option 3: what is the rationale for allowing Python extension modules to be named .DLL?

Don't know.

But if you make the change to implement option 3, IMO it would be a good idea to add the Python version number to the .pyd basename as well.

pywin32 already has to do this, since pythoncomXY.pyd and pywintypesXY.pyd have to live (if possible) in the windows directory.

There have been other conflicts reported before: I remember Windows\system32\wmi.dll conflicting with Tim Golden's wmi.py module. In addition, wmi.dll is very special, since it doesn't have an import table, IIRC.

Thomas



More information about the Python-Dev mailing list