测试一个轮子¶
有一个工具可以用来测试一组轮子,称为‘testwheel’,但它目前位于不同的仓库中(qt/qtqa
):
使用来自qtqa仓库的
scripts/packagetesting/testwheel.py
。
测试轮子:
创建一个虚拟环境并激活它。
安装
requirements.txt
文件中列出的依赖项。安装所有轮子:
shiboken6
,shiboken6-generator
, 和PySide6-Essentials
。运行
testwheel
工具。安装
PySide6-Addons
轮子。再次运行
testwheel
工具。如果您可以访问商业轮子,请不要忘记
PySide6-M2M
,并重新运行testwheel
工具。
在命令行上构建¶
考虑使用
build_scripts/qp5_tool.py
。
使用地址消毒器构建(Linux)¶
需要告诉ASAN不要因内存泄漏而退出,并且需要预加载其库。假设库位于/usr/lib/gcc/x86_64-linux-gnu/11
:
export ASAN_OPTIONS=detect_leaks=0
export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/11/libasan.so
python setup.py build [...] --sanitize-address
将Python文件去虚拟化¶
Shiboken模块中的Python文件完全是虚拟的,即出于安全原因,它们在文件系统中并不存在。
出于调试目的或更改某些内容,可能希望再次将这些文件移动到普通文件系统中。
将环境变量“SBK_EMBED”设置为false一次,在导入PySide6或shiboken6时解压这些文件。这些文件会被写入“side-packages/shiboken6/files.dir”中,并从那时起使用。
将变量设置为 true 会移除“files.dir”。
如果没有“SBK_EMBED”变量,嵌入状态将保持粘性。