当我尝试使用 cx_freeze (python setup.py build)时,它会创建构建,但在底部,我收到错误消息:
错误:[Errno 2]没有这样的文件或目录:'D:\...\...\... uild xe.win-amd64-3.9\lib\importlib 资源 bc.pyc'
之前正常创建exe文件的py文件中也显示同样的错误。
我最近遇到了这个问题,也许你也遇到同样的情况: 从冻结 python3.6 到 python3.8,我开始在输出中间看到这个,而 cx_freeze (我使用 v6.9)正在复制所有包:
copying data from package importlib...
error: [Errno 2] No such file or directory: '/virtcam-component-tests/src/build/virtcam-component-tests/lib/importlib/resources/abc.pyc'
然后复制停止了。这会导致软件包丢失,并且我的应用程序会失败
missing package 'io'
。
结果在 3.6 和 3.8 之间,
importlib.resources
变成了 importlib_resources
,你需要告诉 cx_freeze 在 setup.py 中排除旧的:
build_options = {
'excludes': ['importlib.resources'],
...
}