Ошибка криптографии и pyinstaller (без использования Fernet)Python

Программы на Python
Ответить
Anonymous
 Ошибка криптографии и pyinstaller (без использования Fernet)

Сообщение Anonymous »

Я использую команду pyinstaller main2.spec. Следующий файл main2.spec:

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

# -*- mode: python ; coding: utf-8 -*-

a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[
('./backend', 'backend'),
('./classes', 'classes'),
('./common', 'common'),
('./functions', 'functions'),
('./sql', 'sql'),
('./interfaces', 'interfaces')
],
hiddenimports=['cryptography.hazmat.primitives.kdf.pbkdf2', 'uuid'],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
)
pyz = PYZ(a.pure)

exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
icon='./logo.ico',
name='CREDTI',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
Он создает файл CREDTI.exe. Когда я запускаю файл и нажимаю кнопку, которая получает данные из базы данных Oracle, появляется следующая ошибка:

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

Traceback (most recent call last):
File "main.py", line 164, in send_mail_if
File "backend\login.py", line 16, in login
File "sql\sql.py", line 44, in select_all_fields_with_where
File "sql\sql.py", line 9, in create_connection
File "oracledb\connection.py", line 1194, in connect
File "oracledb\connection.py", line 575, in __init__
File "src\\oracledb\\impl/thin/connection.pyx", line 318, in oracledb.thin_impl.ThinConnImpl.__init__
File "src\\oracledb\\impl/thin/connection.pyx", line 78, in oracledb.thin_impl.BaseThinConnImpl.__init__
File "oracledb\errors.py", line 195, in _raise_err
oracledb.exceptions. NotSupportedError: DPY-3016: python-oracledb thin mode cannot be used because the cryptography package is not installed
Я читал, что ошибка будет исправлена ​​добавлением «from cryptography.hazmat.primitives.kdf import pbkdf2» и «importcodings.idna» в импорт, но это работает с Fernet, и я этим не пользуюсь. Я все еще пытался добавить файлы main.py и sql.py, но это не сработало.
Я использую следующие версии:

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

cryptography 44.0.1
oracledb     2.5.1
pyinstaller  6.12.0
У меня есть другой проект с этими версиями, но ошибок там нет.

Подробнее здесь: https://stackoverflow.com/questions/796 ... rnet-error
Ответить

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

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

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

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

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