在PyQt5中使用cx_Freeze时,出现以下错误:
ImportError:没有名为“ PyQt5.Qt”的模块
我的setup.py
文件如下:
from cx_Freeze import setup, Executable
base = None
executables = [Executable("Chemistry.py", base=base)]
packages = ["idna", "sys", "pandas", "PyQt5"]
options = {
'build_exe': {
'packages':packages,
},
}
setup(
name = "<any name>",
options = options,
version = "<any number>",
description = '<any description>',
executables = executables
)
如何解决此错误?我正在使用Windows操作系统。
答案 0 :(得分:2)
尝试this solution处理类似的问题:
"PyQt5"
列表中删除packages
PyQt5
目录复制到构建目录的lib
子目录中。您可以通过将(source, destination)
元组传递到include_files
列表中来做到这一点,这告诉cx_Freeze将source
(文件或整个目录)复制到相对于{{1}构建目录(请参见cx_Freeze documentation)。将destination
设置为source
,这将提供Python安装的os.path.dirname(PyQt5.__file__)
包的目录(通过其PyQt5
文件),以及目的地为__init__.py
。 "lib"
添加到"numpy"
列表中,请参见cx_Freeze not able to build msi with pandas和Creating cx_Freeze exe with Numpy for Python 一起,尝试如下修改您的packages
脚本:
setup.py