用py2exe编译python脚本到exe,得到错误

时间:2017-02-10 17:07:55

标签: python selenium py2exe helium

所以我有一个名为papercutter.py的脚本和一个根据py2exe教程设置如下的setup.py:

from distutils.core import setup
import py2exe

setup(console=['papercutter.py'])

所以按照教程,运行 python setup.py py2exe ,它看起来很成功:

c:\Codes>python setup.py install
running install
running build
running install_egg_info
Removing C:\Python\Lib\site-packages\UNKNOWN-0.0.0-py3.6.egg-info
Writing C:\Python\Lib\site-packages\UNKNOWN-0.0.0-py3.6.egg-info

但是当我运行下一步 python setup.py py2exe 时,我收到错误:

c:\Codes>python setup.py py2exe
running py2exe
Traceback (most recent call last):
  File "setup.py", line 4, in <module>
    setup(console=['papercutter.py'])
  File "C:\Python\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Python\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Python\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Python\lib\site-packages\py2exe\distutils_buildexe.py", line 188,        in run
    self._run()
  File "C:\Python\lib\site-packages\py2exe\distutils_buildexe.py", line 267,      in _run
    builder.analyze()
  File "C:\Python\lib\site-packages\py2exe\runtime.py", line 157, in analyze
    self.mf.import_package(modname[:-2])
  File "C:\Python\lib\site-packages\py2exe\mf3.py", line 91, in      import_package
    self.import_hook(name)
  File "C:\Python\lib\site-packages\py2exe\mf3.py", line 117, in import_hook
    module = self._gcd_import(name)
  File "C:\Python\lib\site-packages\py2exe\mf3.py", line 267, in _gcd_import
    return self._find_and_load(name)
  File "C:\Python\lib\site-packages\py2exe\mf3.py", line 320, in _    find_and_load
    self._scan_code(module.__code__, module)
  File "C:\Python\lib\site-packages\py2exe\mf3.py", line 352, in _scan_code
    for what, args in self._scan_opcodes(code):
  File "C:\Python\lib\site-packages\py2exe\mf3.py", line 381, in     _scan_opcodes
    yield "store", (names[oparg],)
IndexError: tuple index out of range

我在这里做错了什么?

注意:这是我关注的教程:http://www.py2exe.org/index.cgi/Tutorial

另请注意:我使用的是py2exe 0.9.2.0和python 3.6.0。我认为这些应该很好。

2 个答案:

答案 0 :(得分:1)

答案在Traceback的底部。好像你有一个元组的索引问题。基于Python的索引为0。

答案 1 :(得分:1)

目前py2exe支持最高3.4的Python