本页重点介绍如何从源代码构建Qt for Python,如果你只想安装PySide2。 与你需要运行:pip
pip install pyside2
有关更多详细信息,请参阅我们的快速入门指南。此外,您可以 查看与项目相关的常见问题解答。
一般要求¶
Python:3.5+ 和 2.7
Qt:建议使用 5.12+
libclang:libclang 库,推荐:PySide10 2.5 版本 15。 可以在此处下载它的预构建版本。
CMake:需要 3.1+。
每个平台的指南¶
有关特定于平台的说明,请参阅以下页面:
窗户
苹果操作系统
Linux目录
移动平台(iOS/安卓)(不支持)
嵌入式平台(无官方支持)
注意
大多数基于 Linux 的嵌入式操作系统都提供 PySide2 及其官方 包管理器(例如 Raspbian和 ArchlinuxARM)。
正常的构建命令如下所示:
python setup.py install --qmake=/path/to/qmake \
--ignore-git \
--debug \
--build-tests \
--parallel=8 \
--make-spec=ninja \
--verbose-build \
--module-subset=Core,Gui,Widgets
这将使用调试符号(包括测试)构建和安装项目, 使用ninja(而不是make),并且只考虑QtCore的模块子集,QtGUI 和 QtWidgets。
需要考虑的其他重要选项包括:
-
--cmake
,以指定 cmake 二进制文件的路径, -
--reuse-build
,以仅重建修改后的文件, -
--openssl=/path/to/openssl/bin
,以对 OpenSSL 使用不同的路径, -
--standalone
,将Qt库复制到最终包中 使其在其他机器上工作, -
--doc-build-online
,以使用联机模板构建文档。
测试安装¶
安装完成后,您将能够执行我们的任何示例:
python examples/widgets/widgets/tetrix.py
运行测试¶
使用该选项将使我们能够运行项目内的所有自动测试:--build-tests
python testrunner.py test > testlog.txt
注意
在Windows上,不要忘记在你的路径中有qmake。 (set PATH=E:\Path\to\Qt\5.15\msvc2017_64\bin;%PATH%
)
您还可以通过运行以下命令来运行特定测试(例如):qpainter_test
ctest -R qpainter_test --verbose
构建文档¶
从 5.15 开始,有两个选项可用于构建文档:
1. 构建仅限 rst 的文档(无 API)¶
解析Qt标头以生成PySide API文档的过程可能需要几个时间。 分钟,这意味着修改我们当前拥有的 RST 文件的特定部分可能会 成为一项艰巨的任务。
为此,您可以在虚拟环境中安装,并执行以下命令:sphinx
python setup.py build_rst_docs
这将生成一个具有以下结构的目录:html/
html
└── pyside2
├── index.html
├── ...
└── shiboken2
├── index.html
└── ...
因此,您可以在浏览器上打开主页以检查生成的 文件。html/pyside2/index.html
这在更新文档的一般部分、添加教程、 修改构建说明等。
2. 构建文档(rst + API)¶
该文档是使用 qdoc 生成的,以获取 API 信息,以及本地 Python 相关注释的狮身人面像。
系统需要 和 ,也在 Python 环境中,并且需要在运行安装过程之前安装:libxml2
libxslt
sphinx
graphviz
pip install graphviz sphinx
安装后,命令需要在 PATH 中,否则, 该过程将失败。还可以选择在系统范围内安装。graphviz
dot
graphviz
由于该过程依赖于Qt安装,因此您需要指定目录的位置 您将与位于:qtbase
qmake
export QT_SRC_DIR=/path/to/qtbase
构建过程完成后,您可以转到生成的目录,然后运行:*_build/*_release/pyside2
make apidoc
注意
make 目标以 QCH(Qt 创建者帮助)格式构建离线文档 默认情况下。您可以使用配置选项切换到构建以供在线使用。apidoc
--doc-build-online
最后,您将获得一个包含所有生成文档的目录。离线 帮助文件和 可以移动到您选择的任何目录。你 可以在构建目录中找到,.html
PySide.qch
Shiboken.qch
Shiboken.qch
*_build\*_release\shiboken2\doc\html
查看脱机文档¶
离线文档(QCH)可以使用Qt Creator IDE或Qt助手查看,即 用于查看QCH文件的独立应用程序。
要使用Qt Creator查看QCH,请按照使用Qt Creator帮助模式中概述的说明进行操作。如果您选择 请改用Qt助手,在启动前使用以下命令注册QCH文件 Qt助手:
助手 -注册 PySide.qch
注意
Qt Assistant 使用 QTextBrowser 后端渲染 QCH 内容,该后端支持 CSS样式的子集,但是,Qt Creator提供了另一种基于litehtml的样式。 后端,提供更好的浏览体验。目前,这不是默认设置 后端,因此您必须选择litehtml后端 明确在 中的选项卡下。General
Qt Creator >> Tools >> Options >> Help
使用内部工具¶
可以在存储库内的目录下找到一组工具。tools/
pyside-setup
-
checklibs.py
:用于分析 Mach-O 二进制文件的动态库依赖项的脚本。 要使用此实用程序,只需运行:python checklibs.py /path/to/some.app/Contents/MacOS/Some
此脚本是从此存储库中获取的。
-
create_changelog.py
:用于创建可在目录中找到的更改日志的脚本。用法:dist/
python create_changelog.py -r 5.15.1 -v v5.15.0..5.15 -t bug-fix
-
debug_windows.py
:此脚本可用于找出为什么 PySide2 模块 无法加载各种DLL错误,例如缺少DLL或DLL中缺少符号。您可以将其视为 / 的 Windows 版本。
ldd
LD_DEBUG
在它下面使用命令行调试器和工具,两者都 与最新的 Windows 套件一起安装。
cdb.exe
gflags.exe
目的是要求用户在遇到 PySide2 导入不起作用时运行此脚本 窗户。然后,用户应提供生成的日志文件。
顺便说一下,它也可以用于任何Windows可执行文件,而不仅仅是Python。 要使用它,只需运行:
python debug_windows.py
-
missing_bindings.py
:此脚本用于比较 PySide2 和 PyQt5 的状态 关于可用的模块和类。此内容显示在我们的维基页面中, 并且可以按如下方式使用:python missing_bindings.py --qt-version 5.15.1 -w all