При запуске файла main.py получаю UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 4: invalid continuation byte

Я использую библиотеку eel для написания веб-интерфейса но получаю выше указанную ошибку.

Я пробовал:

  1. Переустанаволивать билиотеку
  2. Пересохранять всё файлы в кодировке utf-8
  3. Использовать другой редактор кода

Вот сама ошибка:

C:\Users\amd\Documents\Python>python main.py
Traceback (most recent call last):
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\threadpool.py", line 173, in __run_task
thread_result.set(func(*args, **kwargs))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 4: invalid
continuation byte
2022-12-11T18:05:07Z (<ThreadPoolWorker at 0x284dd48 thread_ident=0xcc0 threadpo
ol-hub=<Hub at 0x887f78 thread_ident=0x378>>, <built-in function gethostbyaddr>)
failed with UnicodeDecodeError

Traceback (most recent call last):
File "main.py", line 3, in <module>
eel.start("index.html")
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\eel\__init__.py", line 185, in start
run_lambda()
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\eel\__init__.py", line 176, in run_lambda
return btl.run(
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\bottle.py", line 3172, in run
server.run(app)
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\bottle_websocket\server.py", line 17, in run
server.serve_forever()
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\baseserver.py", line 398, in serve_forever
self.start()
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\baseserver.py", line 336, in start
self.init_socket()
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\pywsgi.py", line 1546, in init_socket
self.update_environ()
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\pywsgi.py", line 1558, in update_environ
name = socket.getfqdn(address[0])
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\_socketcommon.py", line 304, in getfqdn
hostname, aliases, _ = gethostbyaddr(name)
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\_socketcommon.py", line 276, in gethostbyaddr
return get_hub().resolver.gethostbyaddr(ip_address)
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\resolver\thread.py", line 66, in gethostbyaddr
return self.pool.apply(_socket.gethostbyaddr, args, kwargs)
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\pool.py", line 161, in apply
return self.spawn(func, *args, **kwds).get()
File "src\gevent\event.py", line 329, in gevent._gevent_cevent.AsyncResult.get

File "src\gevent\event.py", line 359, in gevent._gevent_cevent.AsyncResult.get

File "src\gevent\event.py", line 347, in gevent._gevent_cevent.AsyncResult.get

File "src\gevent\event.py", line 327, in gevent._gevent_cevent.AsyncResult._ra
ise_exception
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\_compat.py", line 66, in reraise
raise value.with_traceback(tb)
File "C:\Users\amd\AppData\Local\Programs\Python\Python38-32\lib\site-packages
\gevent\threadpool.py", line 173, in __run_task
thread_result.set(func(*args, **kwargs))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 4: invalid
continuation byte

Код файла который выдает ошибку(данный код открывает окно приложения с веб- итрефейсом):

import eel
eel.init("web")
eel.start("index.html")

Путь к папке web: C:\Users\amd\Documents\Python\web

Путь к python файлу: C:\Users\amd\Documents\Python

Браузер: Chrome

ОС: Windows 7 (32-bit)

Код html документа:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="styles.css">
<script type="text/javascript" src="/eel.js"></script>
</head>
<body>
<input type="" name=" ", id="number-input">

<h2 class="style">Enter your number here</h2>
<button class="button-1">1</button>
<button class="button-2">2</button>
<button class="button-3">3</button>
<button class="button-4">4</button>
<button class="button-5">5</button>
<button class="button-6">6</button>
<button class="button-7">7</button>
<button class="button-8">8</button>
<button class="button-9">9</button>



</body>
</html>

Вот лог установки:

C:\Users\amd>pip install eel --log out.log
Collecting eel
Using cached Eel-0.15.1-py3-none-any.whl
Requirement already satisfied: pyparsing in 
c:\users\amd\appdata\local\programs\
python\python38-32\lib\site-packages (from eel) (3.0.9)
Requirement already satisfied: bottle in 
c:\users\amd\appdata\local\programs\pyt
hon\python38-32\lib\site-packages (from eel) (0.12.23)
Requirement already satisfied: bottle-websocket in 
c:\users\amd\appdata\local\pr
ograms\python\python38-32\lib\site-packages (from eel) (0.2.9)
Requirement already satisfied: whichcraft in 
c:\users\amd\appdata\local\programs
\python\python38-32\lib\site-packages (from eel) (0.6.1)
Requirement already satisfied: future in 
c:\users\amd\appdata\local\programs\pyt
hon\python38-32\lib\site-packages (from eel) (0.18.2)
Requirement already satisfied: gevent-websocket in 
c:\users\amd\appdata\local\pr
ograms\python\python38-32\lib\site-packages (from bottle-websocket- 
>eel) (0.10.1
)
Requirement already satisfied: gevent in 
c:\users\amd\appdata\local\programs\pyt
hon\python38-32\lib\site-packages (from gevent-websocket->bottle- 
websocket->eel)
(22.10.2)
Requirement already satisfied: zope.event in 
c:\users\amd\appdata\local\programs
\python\python38-32\lib\site-packages (from gevent->gevent-websocket- 
>bottle-web
socket->eel) (4.5.0)
Requirement already satisfied: greenlet>=2.0.0 in 
c:\users\amd\appdata\local\pro
grams\python\python38-32\lib\site-packages (from gevent->gevent- 
websocket->bottl
e-websocket->eel) (2.0.1)
Requirement already satisfied: zope.interface in 
c:\users\amd\appdata\local\prog
rams\python\python38-32\lib\site-packages (from gevent->gevent- 
websocket->bottle
-websocket->eel) (5.5.2)
Requirement already satisfied: cffi>=1.12.2 in 
c:\users\amd\appdata\local\progra
ms\python\python38-32\lib\site-packages (from gevent->gevent- 
websocket->bottle-w
ebsocket->eel) (1.15.1)
Requirement already satisfied: setuptools in 
c:\users\amd\appdata\local\programs
\python\python38-32\lib\site-packages (from gevent->gevent-websocket- 
>bottle-web
socket->eel) (49.2.1)
Requirement already satisfied: pycparser in 
c:\users\amd\appdata\local\programs\
python\python38-32\lib\site-packages (from cffi>=1.12.2->gevent- 
>gevent-websocke
t->bottle-websocket->eel) (2.21)
Installing collected packages: eel
Successfully installed eel-0.15.1

Прошу вашей помощи!


Ответы (1 шт):

Автор решения: Oopss

Обычно такая ошибка возникает, когда указана неверная кодировка для декодирования файла. Оказалась кириллица не в той кодировке, в имени компьютера, "amd-ПК".

→ Ссылка