我正在尝试使用
cx_freeze
将 .py 文件转换为 .exe,并且在构建时没有收到任何错误。我用另一个 .py 文件尝试了它,它运行得很好,但是这一次,它给了我这个错误:
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
module.run()
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
exec(code, m.__dict__)
File "borzacommercial.py", line 6, in <module>
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\bcrypt\__init__.py", line 25, in <module>
from bcrypt import _bcrypt
ModuleNotFoundError: No module named '_cffi_backend'
我该怎么办?
当您收到一条消息说缺少某个包的一部分时,要做的第一件事就是尝试添加缺少的包的名称。您可能会收到更多错误,表明缺少更多模块,但也只包含这些模块。您只需在
packages
选项中添加包的名称即可完成此操作。像这样:
from cx_Freeze import setup, Executable
base = None executables = [Executable("borzacommercial.py", base=base)]
packages = ["idna", "_cffi_backend"]
options = { 'build_exe': { 'packages':packages, }, }
setup( name = "<any name>", options = options, version = "<any number>",
description = '<any description>', executables = executables )
导入_cffi_backend解决了这个问题