gpt4 book ai didi

python - 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

转载 作者:行者123 更新时间:2023-12-01 18:57:20 24 4
gpt4 key购买 nike

问题是当我尝试启动应用程序(app.py)时我收到以下错误:

UnicodeDecodeError:“utf-8”编解码器无法解码位置 5 中的字节 0xb3:起始字节无效

整个文件app.py:

# -*- coding: utf-8 -*-
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
return 'Hello World'

if __name__ == "__main__":
app.run(host='127.0.0.1')

我在 stackoverflow 上读到这会有所帮助:

# -*- coding: utf-8 -*-  

但这并没有改变任何东西。然后我改变了

app.run()

app.run(host='127.0.0.1')

但它也不起作用。

我在Windows下启动应用程序,所以我设置了环境。变量如下:

set FLASK_APP = app.py

但无论我是在 pycharm 中还是在 Windows cmd 中运行它

flask run

我每次都会遇到同样的错误。

完整错误代码:

Traceback (most recent call last):
File "C:/Users/Michał/Desktop/Michał/Zadanie/Flask_Blog/app.py",
line 11, in <module>
app.run(host='127.0.0.1')
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\site-packages\flask\app.py", line 943, in run
run_simple(host, port, self, **options)
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\site-packages\werkzeug\serving.py", line 990, in run_simple
inner()
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\site-packages\werkzeug\serving.py", line 943, in inner
fd=fd,
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\site-packages\werkzeug\serving.py", line 786, in make_server
host, port, app, request_handler, passthrough_errors, ssl_context,
fd=fd
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\site-packages\werkzeug\serving.py", line 679, in __init__
HTTPServer.__init__(self, server_address, handler)
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\socketserver.py", line 453, in __init__
self.server_bind()
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\http\server.py", line 138, in server_bind
self.server_name = socket.getfqdn(host)
File "C:\Users\Michał\AppData\Local\Programs\Python\Python36-
32\lib\socket.py", line 673, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 5:
invalid start byte

编辑(更新)我更改了 python.exe 位置和项目位置,但错误仍然存​​在:

Traceback (most recent call last):
File "C:/Users/Public/Projekt/main.py", line 11, in <module>
app.run(host='127.0.0.1')
File "C:\Users\Public\Python\Python36-32\lib\site-
packages\flask\app.py", line 943, in run
run_simple(host, port, self, **options)
File "C:\Users\Public\Python\Python36-32\lib\site-
packages\werkzeug\serving.py", line 990, in run_simple
inner()
File "C:\Users\Public\Python\Python36-32\lib\site-packages\werkzeug\serving.py", line 943, in inner
fd=fd,
File "C:\Users\Public\Python\Python36-32\lib\site-packages\werkzeug\serving.py", line 786, in make_server
host, port, app, request_handler, passthrough_errors, ssl_context, fd=fd
File "C:\Users\Public\Python\Python36-32\lib\site-packages\werkzeug\serving.py", line 679, in __init__
HTTPServer.__init__(self, server_address, handler)
File "C:\Users\Public\Python\Python36-32\lib\socketserver.py", line 453, in __init__
self.server_bind()
File "C:\Users\Public\Python\Python36-32\lib\http\server.py", line 138, in server_bind
self.server_name = socket.getfqdn(host)
File "C:\Users\Public\Python\Python36-32\lib\socket.py", line 673, in getfqdn
hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 5: invalid start byte

最佳答案

问题是 native 字母ł(可能名为Michał),其代码为0xb3,但在Window-1250中>,而不是 UTF-8

也许您不仅在文件夹名称中包含此字母,而且在主机名(计算机名称)中也有此字母,然后脚本在尝试获取此名称时出现问题

hostname, aliases, ipaddrs = gethostbyaddr(name)

您可以看到这一行错误消息。

也许如果您在 Windows 设置中更改主机名,那么它就会起作用。

<小时/>

我不使用 Windows,但当我使用 Windows(和 DOS)时,总是有一个好的规则:不要在文件/文件夹名称中使用 native (波兰语)字母(和空格)。主机名也可以如此。

<小时/>

Windows 可能使用三种不同的编码(代码页) - Window-1250 (CP-1250) 用于文件名,CP-852 用于文件名控制台中的文本和脚本中的 UTF-8 。有时,旧 HTML 文件中还包含 LATIN2 (ISO-8859-2)。

请参阅:第 Python Unicode - decode & encode 页上的优化代码页(编码)的图像

关于python - 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com