Issue 3215: Can't import sqlite3 in Python 2.6b1 (original) (raw)
Issue3215
Created on 2008-06-27 13:14 by craigneuro, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (3) | ||
---|---|---|
msg68827 - (view) | Author: Craig Holmquist (craigneuro) | Date: 2008-06-27 13:13 |
This is observed on Windows XP; I don't know if it affects other platforms. Trying to import sqlite3 gives this error: >>> import sqlite3 Traceback (most recent call last): File "<pyshell#1>", line 1, in import sqlite3 File "C:\Python26\Lib\sqlite3\__init__.py", line 24, in from dbapi2 import * File "C:\Python26\lib\sqlite3\dbapi2.py", line 27, in from _sqlite3 import * ImportError: DLL load failed: The specified module could not be found. A look at the dependencies for _sqlite3.pyd shows that it's trying to link to a file called sqlite3.pyd, which doesn't exist. Renaming sqlite3.dll to sqlite3.pyd doesn't work either, because then "import sqlite3" causes Python to try to import that file as a Python module (instead of C:\Python26\Lib\sqlite3\__init__.py). In Python 2.5.2, the _sqlite3.pyd module correctly links to sqlite3.dll. If there's already an issue regarding this I couldn't find it. | ||
msg68830 - (view) | Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * ![]() |
Date: 2008-06-27 14:17 |
Confirmed here. As a workaround, you may rename sqlite3.dll to SQLITE3.pyd, with some uppercase letters: the dll loader won't care, but the python import does check for case consistency. There is a problem in PCBuild/sqlite3.vcproj, which is supposed to build sqlite3.dll: "OutputFile" is defined to a name ending with ".dll" for Relase and Debug builds, but not for the PGInstrument and PGUpdate builds: this property is inherited from pyd.vcprops, which defines a name ending with ".pyd". Of course, the distribution is a PGUpdate build... Martin, I suspect that you already corrected this in your distribution workspace, but the _sqlite3.pyd file was not rebuilt: >dir c:\python26\DLLs\*sqlite3* [...] 2008-06-19 13:56 247,296 sqlite3.dll 2008-06-19 13:53 40,960 _sqlite3.pyd The .dll is newer that the .pyd, when the project dependencies are in the other direction. | ||
msg68998 - (view) | Author: Martin v. Löwis (loewis) * ![]() |
Date: 2008-06-30 07:00 |
This is now fixed in r64597. I had indeed edited the project file before the release, but couldn't commit, as that would have modified the tag. I had rebuilt sqlite3.dll, but probably forgotten to rebuild _sqlite3.pyd. There are more issues with the PG builds, such as the .lib files not being created in the pgo directory (only in pgi). |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:35 | admin | set | nosy: + barrygithub: 47465 |
2008-06-30 07:00:12 | loewis | set | status: open -> closedresolution: fixedmessages: + |
2008-06-27 22:49:17 | loewis | set | priority: release blocker |
2008-06-27 14:17:35 | amaury.forgeotdarc | set | assignee: loewismessages: + nosy: + amaury.forgeotdarc, loewis |
2008-06-27 13:14:01 | craigneuro | create |