python - Warum tritt beim Packen mit Pyinstaller ein IndexError auf?
迷茫
迷茫 2017-05-18 10:56:16
0
3
882

In meinem Paket ist eine game.py geschrieben, und dann verwende ich pyinstaller, um sie zu verpacken, und die folgende Situation tritt ein:

C:\package>pyinstaller -F game.py 166 INFO: PyInstaller: 3.2.1 166 INFO: Python: 3.6.1 166 INFO: Platform: Windows-10-10.0.14393-SP0 166 INFO: wrote C:\package\game.spec 182 INFO: UPX is not available. 182 INFO: Extending PYTHONPATH with paths ['C:\package', 'C:\package'] 182 INFO: checking Analysis 182 INFO: Building Analysis because out00-Analysis.toc is non existent 182 INFO: Initializing module dependency graph... 199 INFO: Initializing module graph hooks... 202 INFO: Analyzing base_library.zip ... Traceback (most recent call last): File "C:\Python36\Scripts\pyinstaller-script.py", line 11, in  load_entry_point('PyInstaller==3.2.1', 'console_scripts', 'pyinstaller')() File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\__main__.py", line 90, in run run_build(pyi_config, spec_file, **vars(args)) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\__main__.py", line 46, in run_build PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\building\build_main.py", line 788, in main build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build')) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\building\build_main.py", line 734, in build exec(text, spec_namespace) File "", line 16, in  File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\building\build_main.py", line 212, in __init__ self.__postinit__() File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\building\datastruct.py", line 161, in __postinit__ self.assemble() File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\building\build_main.py", line 317, in assemble excludes=self.excludes, user_hook_dirs=self.hookspath) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\depend\analysis.py", line 560, in initialize_modgraph graph.import_hook(m) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 1509, in import_hook source_package, target_module_partname, level) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 1661, in _find_head_p ackage target_module_headname, target_package_name, source_package) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\depend\analysis.py", line 209, in _safe_import_module module_basename, module_name, parent_package) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 2077, in _safe_import _module module_name, file_handle, pathname, metadata) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 2167, in _load_module self._scan_code(m, co, co_ast) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 2585, in _scan_code module, module_code_object, is_scanning_imports=False) File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 2831, in _scan_byteco de global_attr_name = get_operation_arg_name() File "C:\Python36\lib\site-packages\pyinstaller-3.2.1-py3.6.egg\PyInstaller\lib\modulegraph\modulegraph.py", line 2731, in get_operatio n_arg_name return module_code_object.co_names[co_names_index] IndexError: tuple index out of range

Traceback zeigt, dass es mit meiner game.py kein Problem sein sollte. was ist passiert?
Die neueste Version von Pyinstaller 3.2.1 ist installiert und Python ist Version 3.6.

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Antworte allen (3)
洪涛

Python 3.6: IndexError: tuple index out of range, 上面提到

RTFM: PyInstaller 3.2.1 does not support Python 3.6

也就是pyinstaller3.2.1不支持Python 3.6.

    漂亮男人

    建议pyinstaller不要用最新的python版本,至少python3.5以下版本是可行的。

      Peter_Zhu

      支持3.6的还没有放出,但是可以手动安装
      https://github.com/pyinstalle... 下载zip后把PyInstaller提出来。删掉python/Lib/site-packages/PyInstaller 文件夹,把解压得到的PyInstaller放进去应该就OK了。#_#

        Neueste Downloads
        Mehr>
        Web-Effekte
        Quellcode der Website
        Website-Materialien
        Frontend-Vorlage
        Über uns Haftungsausschluss Sitemap
        Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!