cx_freeze AttributeError: module 'dis' has no attribute '_unpack_opargs'

cx_freeze AttributeError: module 'dis' has no attribute '_unpack_opargs'

我已经尝试了一段时间,以便在没有安装 python 的电脑上制作我的 Python 程序 运行。我有问题,因为我使用的是 python 3.6.0。在这个 post 我将讨论我从 this video.

得到的一个方法

我做的第一件事是安装 Python 3.5 并为其创建一个 virtualenv,我将其激活。你可以看看我是怎么做到的 。我在激活环境后,在python3.5环境下在cmd中使用了这个命令:pip install cx_Freeze。它安装没有错误。然后我制作了这个 setup.py 文件:

from cx_Freeze import setup, Executable

setup(name='vkv',
  version='0.1',
  description='Berekent de wortels van een vkv',
  executables = [Executable('vkv.py')])

我想变成.exe文件的python文件叫做vkv.pyvkv.py 文件和 setup.py 文件都是此路径上仅有的 2 个文件:C:\Users\hp\Desktop\Code\Python testing\distr.

好的,现在我只需在命令行中输入 setup.py build 即可生成 .exe 文件。但是当我这样做时,我得到了一堆行,最后一行有错误:

AttributeError: module 'dis' has no attribute '_unpack_opargs'

这是它的截图:

有谁知道我做错了什么?它是 setup.py 文件中的东西吗,它没有正确设置 virtualenv 吗?有谁知道这个错误是什么意思以及我该如何解决它?

您正在处理的 cx_freeze 版本有一个错误,该错误在大于 3.5.2 的版本中表现出来,这个问题已经被报告 here and fixed

简而言之,在Python 3.5.2中引入了一个cx_freeze未能捕获的小变化,现在进行检查以顺利进行。

简而言之,您需要更新 cx_freeze,您可以尝试 pip install -U cx_freeze 或获取它的源代码。

p.s 现在使用 Python 3.6 可能不是最好的主意,因为进行了相当多的更改,并且可能需要一段时间才能发现并修复错误。