Tôi hiện đang cố gắng tạo tệp thực thi bằng py2exe. Tôi sử dụng Python 3.6. Tập lệnh tôi đang sử dụng nhập openpyxl
và pptx
chạy tốt khi tôi sử dụng Pycharm hoặc chạy tập lệnh bằng cửa sổ lệnh.
Đầu ra tạo ra lỗi:
IndexError: tuple index out of range
Dưới đây bạn có thể tìm thấy cmd
đầu ra:
C:\Python36>python setup.py py2exe
running py2exe
Traceback (most recent call last):
File "setup.py", line 4, in <module>
setup(console=['Storybookmaker.py'])
File "C:\Python36\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Python36\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Python36\lib\site-packages\py2exe\distutils_buildexe.py", line 188, in run
self._run()
File "C:\Python36\lib\site-packages\py2exe\distutils_buildexe.py", line 267, in _run
builder.analyze()
File "C:\Python36\lib\site-packages\py2exe\runtime.py", line 160, in analyze
self.mf.import_hook(modname)
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 120, in import_hook
module = self._gcd_import(name)
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 274, in _gcd_import
return self._find_and_load(name)
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 357, in _find_and_load
self._scan_code(module.__code__, module)
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 388, in _scan_code
for what, args in self._scan_opcodes(code):
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 417, in _scan_opcodes
yield "store", (names[oparg],)
IndexError: tuple index out of range
C:\Python36>
Điều gì gây ra IndexError
?
Chỉnh sửa: đây là setup.py
tệp:
from distutils.core import setup
import py2exe
setup(console=['Storybookmaker.py'])
Storybookmaker.py
tập tin trong cùng một thư mục với setup.py
? bạn có thể cố gắng setup(console=[os.path.join(os.path.dirname(__file__,'Storybookmaker.py')])
để chắc chắn định vị tệp.
setup.py
tệp của bạn không? bởi vì vấn đề là ở đó và không phải trongpy2exe
đó hoạt động tốt.