打开 cx_Freeze 编译的 Python 应用程序时出现错误

我正在尝试使用 cx_freeze 为 Windows 正确构建我的 Python。我选择这个工具的原因是另一个像 py2win 这样的工具在最新的(这次是:3.7)python 构建中存在问题。


但是当我编译应用程序时,我无法启动它。我收到错误:


from bcrypt import _bcrypt ModuleNotFoundError: No module named '_cffi_backend'

我在 github 和 stackoverflow 上寻求帮助。我所做的是使用 pip 重新安装密码学、paramiko 和 cffi 包,如下所述:没有名为 _cffi_backend 的模块。也许它对我不起作用,因为我使用的是 Python 3 而不是 2。


我的 setup.py 如下所示:


from cx_Freeze import setup, Executable

import os


os.environ['TCL_LIBRARY'] = r'C:\Users\Kamil\AppData\Local\Programs\Python\Python37-32\tcl\tcl8.6'

os.environ['TK_LIBRARY'] = r'C:\Users\Kamil\AppData\Local\Programs\Python\Python37-32\tcl\tk8.6'


includes = ["paramiko"]


options =   {

            "includes": includes,

            }


setup(name = 'SIMail',

      version = "0.1",

      description = "SIMail nadzor routerow" ,

      options = {"SIMailGUI.exe" : options},

      executables = [Executable("SIMailGUI.py")])

执行 python setup.py build 后,我得到了一些警告的长输出:


Missing modules:

? MySQLdb imported from peewee

? StringIO imported from six

? UserDict imported from asn1crypto._ordereddict

? __builtin__ imported from paramiko.py3compat

? __main__ imported from bdb, pdb

? _frozen_importlib imported from importlib, importlib.abc

? _frozen_importlib_external imported from importlib, importlib._bootstrap, importlib.abc

? _posixsubprocess imported from subprocess

? _uuid imported from uuid

? _winreg imported from platform

? cStringIO imported from asn1crypto.core, paramiko.py3compat

? collections.Mapping imported from peewee

? collections.MutableMapping imported from paramiko.hostkeys


完整日志粘贴在这里:https : //pastebin.com/SNXdBgnM


我要在 setup.py 中添加任何内容吗?你知道如何处理这个问题吗?我根本无法运行我的应用程序。


小怪兽爱吃肉
浏览 440回答 2
2回答

吃鸡游戏

我有同样的错误。将“_cffi_backend.cp36-win32.pyd”(或任何架构上的)从站点包复制到目标文件夹对我来说很有效。也许是 cx_freeze 错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python