Нет OPENSSL_Applink при запуске скомпилированного двоичного файла pyinstallerPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Нет OPENSSL_Applink при запуске скомпилированного двоичного файла pyinstaller

Сообщение Anonymous »

Я использую pyinstaller для компиляции моего проекта Python. Да:

Код: Выделить всё

pyi-makespec main.py
pyinstaller main.spec
Я добавил файл только в переменную данных main.spec.
Сборка выполняется без ошибок, но когда я пытаюсь запустить dist\main.exe, я получаю: OPENSSL_Uplink(00007FF9C1CF8C88,08): no OPENSSL_Applink и программа даже не запускается.
Забавно то, что сначала программа работала до тех пор, пока оператор Requests.get не выдал ту же ошибку. Затем я попытался выполнить новую установку conda с новой средой и всеми обновленными библиотеками, но теперь программа даже не запускается.
Я пытался передать библиотеки libssl и libcrypto в pyinstaller через переменную spec binaries, но безрезультатно.
Я не понимаю, откуда эта ошибка. Будем благодарны за любую помощь.
ОБНОВЛЕНИЕ: я нашел строку кода, вызывающую ошибку. Это последняя строка этого фрагмента:

Код: Выделить всё

from _ssl import _SSLContext
context = _SSLContext(16)
context.keylog_filename = 'path'
Установщик keylog_filename определяется в модуле cpython _ssl следующим образом:

Код: Выделить всё

_PySSLContext_set_keylog_filename(PySSLContext *self, PyObject *arg, void *c) {
FILE *fp;
/* Reset variables and callback first */
SSL_CTX_set_keylog_callback(self->ctx, NULL);
Py_CLEAR(self->keylog_filename);
if (self->keylog_bio != NULL) {
BIO *bio = self->keylog_bio;
self->keylog_bio = NULL;
PySSL_BEGIN_ALLOW_THREADS
BIO_free_all(bio);
PySSL_END_ALLOW_THREADS
}

if (arg == Py_None) {
/* None disables the callback */
return 0;
}

/* _Py_fopen_obj() also checks that arg is of proper type. */
fp = _Py_fopen_obj(arg, "a" PY_STDIOTEXTMODE);
if (fp == NULL)
return -1;

self->keylog_bio = BIO_new_fp(fp, BIO_CLOSE | BIO_FP_TEXT);
if (self->keylog_bio == NULL) {
PyErr_SetString(get_state_ctx(self)->PySSLErrorObject,
"Can't malloc memory for keylog file");
return -1;
}
self->keylog_filename = Py_NewRef(arg);

/* Write a header for seekable, empty files (this excludes pipes). */
PySSL_BEGIN_ALLOW_THREADS
if (BIO_tell(self->keylog_bio) == 0) {
BIO_puts(self->keylog_bio,
"# TLS secrets log file, generated by OpenSSL / Python\n");
(void)BIO_flush(self->keylog_bio);
}
PySSL_END_ALLOW_THREADS
SSL_CTX_set_keylog_callback(self->ctx, _PySSL_keylog_callback);
return 0;
}
Я все еще не уверен, какая строка этого кода проблематична.

Подробнее здесь: https://stackoverflow.com/questions/790 ... led-binary
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Нет OPENSSL_Applink при запуске скомпилированного двоичного файла pyinstaller
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Ошибка сегментации при запуске двоичного файла, скомпилированного с помощью цепочки инструментов
    Anonymous » » в форуме C++
    0 Ответы
    79 Просмотры
    Последнее сообщение Anonymous
  • Как отключить Deeplink или AppLink в Android?
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Запуск файла .exe, скомпилированного Pyinstaller, не может подавить окно консоли tshark
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Объединение приложения Python, скомпилированного с cython, с pyinstaller
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»