![](/img/trans.png)
[英]cx_freeze AttributeError: module 'dis' has no attribute '_unpack_opargs'
[英]AttributeError: module 'dis' has no attribute '_unpack_opargs' While Building Python 3.6 executable using CX_FREEZE
我一直在嘗試將Python 3.6程序轉換為.EXE。 當我使用cx_Freeze構建時。 它生成以下錯誤。 (請參閱下面的日志)
我之前使用過Kivy Module,但是在構建失敗多次后,我仍然使用簡單的Hello World Program對其進行了嘗試,但失敗了。
我的設置文件包含from cx_Freeze import setup, Executable
導入語句,
當我通過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>
謝謝你的幫助。
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
至:
method = self._UnpackOpArgs
3.保存文件,然后嘗試重新構建;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.