2017-02-10 72 views
1

所以我称为脚本papercutter.py和建立一个setup.py根据py2exe教程如下:编译python脚本与py2exe exe文件,收到错误

from distutils.core import setup 
import py2exe 

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

因此,按照教程,我跑蟒蛇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 

但是当我运行下一步,蟒蛇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。我认为这些应该一起好。

回答

1

答案位于Traceback的底部。似乎你有一个元组的索引问题。 Python中的索引是0。

+0

虽然我的脚本没有使用任何数组。我只是去一个网站,然后点击几件事 –

+0

您是否尝试过cx_freeze,它支持python 3.6。 – IamBatman

+0

cx_freeze的发行说明。 http://cx-freeze.readthedocs.io/en/latest/releasenotes.html – IamBatman