我在 Qt Creator 中的 Qt 6.5.2 上创建了一个空的 Qt Quick 应用程序,然后按如下方式编辑 .pyproject:
{
"files": [
"main.py",
"main.qml"
],
"qmlImportPath": [
"path/to/my/qml/directory"
]
}
构建项目后,出现异常:
Traceback (most recent call last):
File "C:\Users\ASUS\Documents\Qt Project\untitled\venv\Lib\site-packages\PySide6\scripts\project.py", line 240, in <module>
project = Project(project_file)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\Documents\Qt Project\untitled\venv\Lib\site-packages\PySide6\scripts\project.py", line 58, in __init__
self.project = ProjectData(project_file=project_file)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\Documents\Qt Project\untitled\venv\Lib\site-packages\PySide6\scripts\project\project_data.py", line 30, in __init__
pyproject = json.load(pyf)
^^^^^^^^^^^^^^
File "C:\Users\ASUS\anaconda3\envs\ml\Lib\json\__init__.py", line 293, in load
return loads(fp.read(),
^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\anaconda3\envs\ml\Lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\anaconda3\envs\ml\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\anaconda3\envs\ml\Lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
当我使用 Ctrl+z 撤消我编辑的内容时,异常仍然一致。
感谢@ewokx的评论帮助,我现在已经解决了我的问题。
PySide6工具包基于解析.pyproject,这是一个json文件。然而,就我而言,在编辑 .pyproject 后,编辑器隐式地将 BOM 添加到文件的前面,这意味着 JSONDecoder 无法再将此文件识别为原始 json 文件。
删除BOM后,一切正常。