PyInstaller et Python3.6 - Tuple Index

J'ai écrit un petit programme en Python et la plupart des gens qui vont l'exécuter seront des utilisateurs de Windows. J'ai essayé d'utiliser pyinstaller et py2exe sur 2 appareils différents, l'un avec Windows et l'autre avec arch-linux.

Je l'ai réinstallé plusieurs fois, à l'aide de la pip3 installer pyinstaller --no-cache

Je reçois toujours le même message d'erreur:

    sudo pyinstaller --windowed --onefile test.py
49 INFO: PyInstaller: 3.2
49 INFO: Python: 3.6.0
50 INFO: Platform: Linux-4.8.13-1-ARCH-x86_64-with-arch
51 INFO: wrote /home/XXXXX/test.spec
52 INFO: UPX is not available.
53 INFO: Extending PYTHONPATH with paths
['/home/XXXXX', '/home/XXXXX']
54 INFO: checking Analysis
54 INFO: Building Analysis because out00-Analysis.toc is non existent
54 INFO: Initializing module dependency graph...
57 INFO: Initializing module graph hooks...
58 INFO: Analyzing base_library.zip ...
Traceback (most recent call last):
File "/usr/bin/pyinstaller", line 11, in <module>
load_entry_point('PyInstaller==3.2', 'console_scripts', 'pyinstaller')()
File "/usr/lib/python3.6/site-packages/PyInstaller/__main__.py", line 90, in run
run_build(pyi_config, spec_file, **vars(args))
File "/usr/lib/python3.6/site-packages/PyInstaller/__main__.py", line 46, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 788, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 734, in build
exec(text, spec_namespace)
File "<string>", line 16, in <module>
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 212, in __init__
self.__postinit__()
File "/usr/lib/python3.6/site-packages/PyInstaller/building/datastruct.py", line 178, in __postinit__
self.assemble()
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 317, in assemble
excludes=self.excludes, user_hook_dirs=self.hookspath)
File "/usr/lib/python3.6/site-packages/PyInstaller/depend/analysis.py", line 560, in initialize_modgraph
graph.import_hook(m)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 906, in import_hook
q, tail = self._find_head_package(parent, name, level)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 990, in _find_head_package
q = self._safe_import_module(head, qname, parent)
File "/usr/lib/python3.6/site-packages/PyInstaller/depend/analysis.py", line 209, in _safe_import_module
module_basename, module_name, parent_package)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1211, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1295, in _load_module
self._scan_code(m, co, co_ast)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1460, in _scan_code
self._scan_bytecode_stores(co, m)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1505, in _scan_bytecode_stores
name = co.co_names[oparg]
IndexError: tuple index out of range

Donc, dans ce cas, j'ai simplement utilisé un testscript contenant:

#!/usr/bin/env  python3.6
print("hello world")

pour s'assurer il n'y a pas de problème avec les importations et ainsi de suite.

Ressemble à "Python 3.6 n'est pas encore pris en charge." github.com/pyinstaller/pyinstaller/issues/2286
Et bien, merci pour la réponse rapide. Malheureusement, sur ma machine Windows, il se trompe jamais de créer un processus lorsque je tape pyinstaller.exe de la cmd. Je vais essayer de corriger cela, il semble être une solution ici: stackoverflow.com/questions/31808180/...

OriginalL'auteur Simulacrum | 2017-01-10