AttributeError:在使用CX_FREEZE生成python3.6可执行文件时,“dis”模块没有属性“unpack_opargs”

2024-05-11 03:36:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试转换我的python3.6程序into.EXE文件. 当我使用cx_Freeze构建时。它生成以下错误。(见下面的日志)

我在早些时候使用Kivy模块,但在构建失败后,我用简单的Hello World程序反复尝试,结果还是失败了。在

我的安装文件包含from cx_Freeze import setup, Executableimport语句

当我通过python setup.py build进行构建时,它会生成这个日志。在

F:\Python\test>python setup.py build
running build
running build_exe
Traceback (most recent call last):
  File "setup.py", line 7, in 
    executables = [Executable('hello.py')])
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\dist.py", line 349, in setup
    distutils.core.setup(**attrs)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\distutils\core.py", li
ne 148, in setup
    dist.run_commands()
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\distutils\dist.py", li
ne 955, in run_commands
    self.run_command(cmd)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\distutils\dist.py", li
ne 974, in run_command
    cmd_obj.run()
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\distutils\command\buil
d.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\distutils\cmd.py", lin
e 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\distutils\dist.py", li
ne 974, in run_command
    cmd_obj.run()
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\dist.py", line 219, in run
    freezer.Freeze()
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\freezer.py", line 621, in Freeze
    self.finder = self._GetModuleFinder()
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\freezer.py", line 333, in _GetModuleFinder
    self.path, self.replacePaths)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 150, in init
    self._AddBaseModules()
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 161, in _AddBaseModules
    self.IncludeModule("traceback")
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 645, in IncludeModule
    namespace = namespace)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 310, in _ImportModule
    deferredImports, namespace = namespace)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 403, in _InternalImportModule
    parentModule, namespace)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 474, in _LoadModule
    self._ScanCode(module.code, module, deferredImports)
  File "C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freez
e\finder.py", line 544, in _ScanCode
    method = dis._unpack_opargs if sys.version_info[:2] >= (3, 5) \
AttributeError: module 'dis' has no attribute '_unpack_opargs'

F:\Python\test>

谢谢你的帮助。在


Tags: runinpylibpackageslocallineusername
1条回答
网友
1楼 · 发布于 2024-05-11 03:36:53

1.打开 文件C:\Users\UserName\AppData\Local\Programs\Python\Python35-32\lib\site-packages\cx_Freeze\finder.py

2.更改(在line 544)此:

   method = dis._unpack_opargs if sys.version_info[:2] >= (3, 5) \
   else self._UnpackOpArgs

收件人:

^{pr2}$

3.保存文件并尝试重新生成;)

相关问题 更多 >