2012-04-09 3 views
2

Я пытаюсь включить пакет pyOpenSSL в исполняемый файл из виртуальной среды. Исполняемый файл генерируется с ошибкой, но когда я пришел запустить его с ошибкой «Ошибка загрузки DLL: указанный модуль не найден».Упаковка pyOpenSSL в исполняемый файл с помощью PyInstaller

После исследования выяснилось, что две библиотеки DLL в pyOpenSSL (libeay32.dll & ssleay32.dll) не были включены в исполняемый файл. Я, наконец, доказал это, поставив DLL на путь и выполнив исполняемый файл.

Кто угодно посоветует простейший способ принудительного применения недостающих DLL для включения в пакет.

Большое спасибо

ответ

1

Похоже, вам нужно вручную указать библиотеки DLL в файле спецификации. Взгляните на documentation on the TOC Class для получения дополнительной информации о допустимых типах данных в файле spec. Кажется, вы хотели бы использовать BINARY.

0

Я только что обновился от pyOpenSSL v.0.13 (у которого был установщик MSI для Windows) до версии v.15 (который я установил через «pip» с Python v.2.7.9). До этого pyInstaller работал нормально. После этого pyInstaller не смог создать рабочий пакет. Оказалось, что отсутствует одна зависимость. Однако это была не dll, а pyd.

Просто скопируйте файл C: \ Python27 \ Lib \ site-packages \ _cffi_backend.pyd в тот же каталог, что и exe, созданный pyInstaller, устранил проблему.

Смежные вопросы