[英]Using PySide's QtWebKit under Windows with py2exe
我正在使用PySide和Qt在Python中创建应用程序,我需要打开一个网页,所以我使用了QtWebKit的QWebView。
在我的开发机器上它工作得很好,既直接运行代码又运行py2exe的输出。 在“干净”的机器上(没有安装Python,也没有安装Qt),py2exe的输出不显示网页。 应用程序的其余部分工作正常,没有崩溃或异常,但QWebView只保持空白。
我尝试打开没有图像或其他东西的URL,以防止任何与缺少WebKit插件相关的问题。 我还尝试了一个简单的程序,它只是在QWebView上打开example.com而没有别的,它也没有用。
有没有人遇到类似的东西? 此外,任何人都知道QWebKit是否有任何类型的“文档较少”的依赖关系,py2exe可能不会进入“包”?
我会尝试PyInstaller。 它在编译PyQT时看起来效果很好,因为它会嗅探依赖关系并将它们打包(好吧,它似乎也是这样)。 我也用Python制作了一个QT应用程序,它吐出了一个可以立即使用的单个二进制文件。
这是一个链接: http : //www.pyinstaller.org/
祝好运!
对于那些仍然会遇到麻烦的人,你会去:
http://developer.qt.nokia.com/wiki/Packaging_PySide_applications_on_Windows
你需要从py2exe手动包含它:)
在py2exe选项中尝试这个:
packages = ["PySide.QtNetwok"]
选择的答案实际上没有回答这个问题。 我有一个类似的问题,我的应用程序使用pyside和QtWebKit,在我的开发机器上工作正常,在用户机器上与py2exe捆绑后没有。
首先,你的setup.py应该明确包含PySide.QtNetwork: link
...
setup(
...
options = {
'py2exe': {
...
'includes': ['PySide.QtNetwork'],
...
}
}
...
之后你应该打包openSSL DLLs: link
到这里获取win32openssl(你可以使用轻量版本)将libeay32.dll和ssleay32.dll复制到你的项目文件夹,并在你的setup.py中添加两个数据文件,如下所示:
...
setup(data_files=[('', ['libeay32.dll','ssleay32.dll'])],
...
最后你需要添加图像支持:将图像插件添加为数据文件,最后它应该是这样的:
...
setup(data_files=[("imageformats", glob(r'C:\Python27\Lib\site-packages\PySide\plugins\*.*')),('', ['libeay32.dll','ssleay32.dll'])],
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.