我正在尝试使用 SSL 支持构建 PyQt5,但是直到现在,我都没有成功。
我做了什么:
使用 OpenSSL 支持重建 Qt:好的
configure.exe -static -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -opengl desktop -platform win32-g++ -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32" -I C:\OpenSSL-Win32\include -L C:\OpenSSL-Win32\lib mingw32-make
安装 SIP:确定
python configure.py -p win32-g++ mingw32-make mingw32-make install
安装 PyQt5:好的
python configure.py --spec=win32-g++ mingw32-make mingw32-make install
编辑
configure.py
文件,'printsupport'
在 QtWebKitWidgets ModuleMetadata 上添加一个:'QtWebKitWidgets': ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport']),
代替
'QtWebKitWidgets': ModuleMetadata(qmake_QT=['webkitwidgets']),
之后(或之前?)
mingw32-make
,删除该行-strip C:$(INSTALL_ROOT)\Python34\pyuic5.bat
从目标
install_pyuic5
:
测试:不行
>>> from PyQt5.QtNetwork import QSslSocket >>> QSslSocket.supportsSsl() False
所以,我的问题是:
- 我做错什么了吗?
- 是否需要其他配置?
为什么我要问...如果一切正常,我正在尝试访问(使用 QWebview)一些https
URL,并且我得到很多或 SSL 错误,例如:
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
先感谢您!