Question

I am trying to include the pyOpenSSL package into an executable from a virtual environment. The executable builds with out error but when I come to run it fails with error "DLL load failed: The specified module could not be found".

After investigation it would appear that the the two DLLs in pyOpenSSL (libeay32.dll & ssleay32.dll) are not been included in executable. I finally proved this by putting the DLLs on to the path and running the executable.

Can anyone advise the simplest way to enforce the missing DLLs to be included into the package.

Many Thanks

Was it helpful?

Solution

Sounds like you need to manually specify the DLLs in the spec file. Take a look at the documentation on the TOC Class for more information on valid data types in the spec file. Seems you would want to use BINARY.

OTHER TIPS

I just upgraded from pyOpenSSL v.0.13 (which had an msi installer for Windows) to v.0.15 (which I installed via "pip" with Python v.2.7.9). Prior to this, pyInstaller worked fine. After this, pyInstaller failed to produce a working package. It turn out to be missing one dependency. It was not a dll, however, but a pyd.

Simply copying the file C:\Python27\Lib\site-packages\_cffi_backend.pyd to the same directory as the exe created by pyInstaller fixed the problem.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top