From: Bill Davy on 5 Jul 2010 10:35 I am struggling :-( I have used SWIG to build a module called SHIP. So I have a directory containing SHIP.py and _SHIP.pyd, as follows: H:\Viper\HostPC\V1\SHIP\Release>dir Volume in drive H has no label. Volume Serial Number is B83B-76F2 Directory of H:\Viper\HostPC\V1\SHIP\Release 05/07/2010 14:43 <DIR> . 05/07/2010 14:43 <DIR> .. 03/07/2010 16:28 41,079 SHIP.py 03/07/2010 14:36 495,616 _SHIP.pyd 2 File(s) 536,695 bytes 2 Dir(s) 58,270,535,680 bytes free I have a test Python program which imports sys and os and then attempts to import SHIP; it begins as follows: ## D for John's notebook ## E for Rod's notebook ## H for Bill's notebook DRIVE = 'H:' import sys import os if ( not os.path.exists(DRIVE) ): print "Drive \'%s\' does not exist on this machine; edit top of file" % (DRIVE) sys.exit(0) # Prepend our path sys.path[:0] = [DRIVE + r'\Viper\HostPC\V1\SHIP\Release'] import SHIP SHIP.Initialise(); I then create a Command Prompt window and enter: H:\Viper\HostPC\V1\SHIP>C:\Python26\python -vv Test1.py >tmp.txt 2>&1 In tmp.txt, I see the following: <snipped out lots of importing> Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. # trying H:\Viper\HostPC\V1\SHIP\Release\SHIP.pyd # trying H:\Viper\HostPC\V1\SHIP\Release\SHIP.py # H:\Viper\HostPC\V1\SHIP\Release\SHIP.pyc matches H:\Viper\HostPC\V1\SHIP\Release\SHIP.py import SHIP # precompiled from H:\Viper\HostPC\V1\SHIP\Release\SHIP.pyc # trying H:\Viper\HostPC\V1\SHIP\Release\_SHIP.pyd # clear[2] __name__ # clear[2] __file__ Traceback (most recent call last): File "Test1.py", line 15, in <module> import SHIP File "H:\Viper\HostPC\V1\SHIP\Release\SHIP.py", line 7, in <module> import _SHIP ImportError: DLL load failed: The specified module could not be found. <snip> It would seem the "import SHIP" is finding SHIP.py without any trouble. SHIP.py begins by "import _SHIP". Python appears to find H:\Viper\HostPC\V1\SHIP\Release\_SHIP.pyd but for some reason, which I cannot fathom, says "DLL load failed". Can anyone offer me any suggestion where I am going wrong or how to tackle this problem? Could it be that the Python 2.6 I am running did not use the same compiler (VC6) with which I buiult _SHIP.pyd and if so, is there a way round this without moving on from VC6? TIA, Bill
|
Pages: 1 Prev: SMTPHandler and Unicode Next: black console window of executing os.chmod() and os.access() |