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

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to