Код: Выделить всё
pyi-makespec main.py
pyinstaller 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'
Код: Выделить всё
_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