我最近下载了以下安装:
- Python 3.2.5
- 头孢Python 3
- PySide - 用于处理我的 CEF 驱动的应用程序的 GUI
- cx_freeze - 使我的应用程序可分发
现在,前三个工作正常。如果我pyside.py
在 CefPython 的示例目录中运行,应用程序将按应有的方式启动。但是,如果我尝试使用以下说明冻结应用程序,应用程序会编译,但会出现错误。
命令行指令
C:\Python32\Lib\site-packages\cefpython3\examples\PySide>cxfreeze pyside.py --target-dir bin --base-name Win32GUI --include-modules atexit,PySide.QtNetwork
错误
Missing modules:
? _gestalt imported from platform
? _posixsubprocess imported from subprocess
? cefpython_py27 imported from __main__
? cefpython_py32 imported from __main__
? win32api imported from platform
? win32con imported from platform
? win32pipe imported from platform
然后,当我尝试运行该应用程序时,我得到以下信息:
ImportError: No module named cefpython_py32
这里的问题是我似乎无法在命令行指令中包含该模块。cx_freeze 根本找不到它。
我需要做什么才能让 cx_freeze 找到 CefPython?
注意: cx_freeze 将所有必需的 DLL 从 Qt 框架导入到 CefPython 本身。他们都在那里。这就引出了一个问题,即为什么它知道 DLL 在哪里,但不知道库在哪里。另请注意,我是 Python 新手。我确信对于我需要做什么有一个简单的解释。我觉得我需要将一些东西复制到 cx_freeze 的dist
目录中——我只是不知道那个文件是什么。我自然认为这将是一个.pyc
文件,但没有...
更新(虽然我正在编译这个问题):
我还尝试了以下说明:
C:\Python32\Lib\site-packages\cefpython3\examples\PySide>cxfreeze pyside.py --target-dir bin --base-name Win32GUI --include-modules atexit,PySide.QtNetwork,cefpython3
注意添加的cefpython3
. 现在,它编译它,但是EXE抛出一个cx_freeze错误:Cannot get zipimporter instance
另外,上述错误仍然存在,所以我认为cefpython3
在这方面使用是错误的。