[英]Error when trying to catch exception on psycopg2 (only with py2exe)
我對這段代碼有一些問題:
...
query = f"INSERT INTO nichos VALUES {parameters}"
try:
run_query(query)
print()
print("Nicho agregado exitosamente.")
print()
if ret == 1:
return cod_nicho
except sql.errors.UniqueViolation:
print()
print(" ERROR. El nicho ya se encuentra cargado en el sistema. No se realizaron cambios en el registro.")
if ret == 0:
return
elif ret == 1:
return cod_nicho
except:
log_error()
print("")
input(" ERROR. Comuníquese con el administrador... Presione enter para continuar...")
if ret == 0:
return
elif ret == 1:
return cod_nicho
...
問題是,當我從 Windows 控制台($ py script.py)執行它時,它運行良好,如果您嘗試在數據庫中插入現有值,它會執行except
塊。
但是,如果我對使用py2exe
創建的 .exe 執行相同操作,則會出現以下錯誤:
Traceback (most recent call last):
File "funciones_mantenimiento.pyc", line 1459, in alta_nicho
File "funciones_mantenimiento.pyc", line 160, in run_query
psycopg2.errors.UniqueViolation: llave duplicada viola restricción de unicidad «sqlite_autoindex_nichos_1»
DETAIL: Ya existe la llave (codigo)=(0202010036).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "ventas.py", line 42, in <module>
File "funciones_ventas.pyc", line 383, in menu
File "funciones_ventas.pyc", line 1628, in menu_editar_op
File "funciones_ventas.pyc", line 1823, in cambiar_nicho
File "funciones_mantenimiento.pyc", line 1465, in alta_nicho
AttributeError: module 'psycopg2' has no attribute 'errors'
有人知道我該如何解決這個問題?
謝謝!
這意味着 py2exe 沒有正確檢測到psycopg2.errors
是您程序的依賴項。
為了使它更容易確定,請添加以下行:
import psycopg2.errors
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.