Python 2.7.3 shared library, like _socket.pyd, cannot be loaded

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Python 2.7.3 shared library, like _socket.pyd, cannot be loaded

Terry Tang-2
Hi There,

I am integrating Python 2.7.3 into our system on Windows. We embedded Python 2.7.3 interpreter to our system.

The problem we met is, our extended Python interpreter cannot load "_socket.pyd" when "import socket" is executed, for example. Here is the error:

Traceback (most recent call last):
  File "t.py", line 1, in <module>
    import socket;
  File "C:\trunk1\third_party\python-2.7.3\win32\lib\socket.py", line 47, in <mo
dule>
    import _socket
ImportError: DLL load failed: The specified module could not be found.


I wrote a small program as listed below to manually load "_socket.pyd" from Python 2.7.3 binary installation  on Windows, and got the same failure.

static void TestDllLoad(const char *dllPath)
{
    HINSTANCE socketh=LoadLibraryEx(dllPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
    if (socketh == NULL) {
fprintf(stderr, "Failed to load shared library: %s\nError: %d\n", dllPath,  GetLastError());
    } else {
fprintf(stderr, "Successfully load shared library: %s\n", dllPath);
    }
}

int main()
{
    /* The following loading success. */
    TestDllLoad("<PathToPython2.3.3>\\DLLs\\_socket.pyd");
    /* The following loading failed. */
    TestDllLoad("<PathToPython2.7.3>\\DLLs\\_socket.pyd");
    return 0;
}

I tried MSVC 2008 and a third-party compiler, and got the same result, even after copying "python27.dll" to the testing directory from Python 2.7.3 installation on Windows.

There is a similar failure reported in http://bugs.python.org/issue4566, but it is marked as fixed and closed. 

Anyone has any idea about the problem?

Thanks a lot.

-Terry

_______________________________________________
Python-Dev mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/lists%2B1324100855712-1801473%40n6.nabble.com