shiboken2 - 无法识别 shiboken 版本 (5.15.2)
问题描述
我作为我的同事尝试在 Windows 上使用 shiboken + C++ + Qt 的组合,但它不起作用
控制台:来自 MVS 的 x86 管理员,QT 5.15.2 ,CMAKE 3.19.8
来自 MVS 安装程序 3.7 的 Python(使用路径:PYTHONHOME C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64,路径:C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64)
Shiboken 从https://code.qt.io/cgit/pyside/pyside-setup.git/下载
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug
C:\Users\...qt-5.15.2\pyside-setup\sources\shiboken2\ -DBUILD_TESTS=False
-DCMAKE_PREFIX_PATH='C:\Users\...\qt-5.15.2;' -DCMAKE_INSTALL_PREFIX='C:\Users\...\QT\shiboken2-debug' -
DPYTHON_EXECUTABLE='C:\ProgramFiles(x86)\MicrosoftVisualStudio\Shared\Python37_64\python_d.exe'
输出:
CMake Error at CMakeLists.txt:51 (message):
Could not identify shiboken version. Error:
当我更改 cmake 文件时,我发现很有趣:PYTHON_DEBUG_LIBRARIES 为空
在检查了 cmakefile 之后,我可以看到无论 cmake 使用 python_d 调用 execute_process,python 都不起作用并返回 null,python_d 的路径是正确的。我在目录中有 python_d.exe。我尝试不从 MVS 安装 python,结果相同。我尝试使用 3.9 python。我从旧的 python 版本中清理了 sys 路径。
解决方案
所以,感谢同事,这是一个错误的路径 DPYTHON_EXECUTABLE,我在 Cmake 文件中添加消息以输出正确的路径,并成功使用。“C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python_d.exe”
在此之前我重新安装了 MVS,但我认为它没有任何效果
推荐阅读
- sql - SQL 消除相等且完全相反的汇总余额
- apache-spark - Airflow - spark-submit,如何监控/检索独立集群上的 spark 驱动程序状态
- haskell - ZipList 可以是分布式的吗?
- reactjs - 键入一个可以接受/返回 N 项具有休息/传播泛型的数组的函数?
- javascript - 尝试将 React App 绑定到 GraphQL 查询时出错
- javascript - 在网页中本地保存音频数据,并处理事件
- python - 正则表达式 - 关于查找以字母开头的字符串中的每个单词的问题
- python - Pandas TypeError:“datetime.time”和“int”实例之间不支持“<”
- python - 如何评估 CDK `CfnOutput`(CloudFormation 输出)值?
- python - SharpDevelop 4.4 KeyPress 事件文本框