2017-07-14 1 views
0

C'est la première fois que j'utilise Pyinstaller alors s'il vous plaît, gardez-moi. Pourquoi le résultat suivant génère-t-il une erreur? Comment je le répare. J'essaye de convertir le programme de python que j'ai écrit dans un .exe de fenêtres.Pyinstaller et py2exe se traduisent par une erreur: "tuple index out of range"

C:\WINDOWS\system32>pyinstaller C:\Users\evank\Desktop\Package\program.py 
121 INFO: PyInstaller: 3.2.1 
121 INFO: Python: 3.6.1 
121 INFO: Platform: Windows-10-10.0.15063-SP0 
127 INFO: wrote C:\WINDOWS\system32\program.spec 
127 INFO: UPX is not available. 
129 INFO: Extending PYTHONPATH with paths 
['C:\\Users\\evank\\Desktop\\Package', 'C:\\WINDOWS\\system32'] 
129 INFO: checking Analysis 
131 INFO: Building Analysis because out00-Analysis.toc is non existent 
131 INFO: Initializing module dependency graph... 
138 INFO: Initializing module graph hooks... 
140 INFO: Analyzing base_library.zip ... 
Traceback (most recent call last): 
    File "C:\Program Files\Python36\Scripts\pyinstaller-script.py", line 11, in <module> 
    load_entry_point('PyInstaller==3.2.1', 'console_scripts', 'pyinstaller')() 
    File "c:\program files\python36\lib\site-packages\PyInstaller\__main__.py", line 90, in run 
    run_build(pyi_config, spec_file, **vars(args)) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\__main__.py", line 46, in run_build 
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\building\build_main.py", line 788, in main 
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build')) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\building\build_main.py", line 734, in build 
    exec(text, spec_namespace) 
    File "<string>", line 16, in <module> 
    File "c:\program files\python36\lib\site-packages\PyInstaller\building\build_main.py", line 212, in __init__ 
    self.__postinit__() 
    File "c:\program files\python36\lib\site-packages\PyInstaller\building\datastruct.py", line 161, in __postinit__ 
    self.assemble() 
    File "c:\program files\python36\lib\site-packages\PyInstaller\building\build_main.py", line 317, in assemble 
    excludes=self.excludes, user_hook_dirs=self.hookspath) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\depend\analysis.py", line 560, in initialize_modgraph 
    graph.import_hook(m) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1509, in import_hook 
    source_package, target_module_partname, level) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1661, in _find_head_package 
    target_module_headname, target_package_name, source_package) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\depend\analysis.py", line 209, in _safe_import_module 
    module_basename, module_name, parent_package) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2077, in _safe_import_module 
    module_name, file_handle, pathname, metadata) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2167, in _load_module 
    self._scan_code(m, co, co_ast) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2585, in _scan_code 
    module, module_code_object, is_scanning_imports=False) 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2831, in _scan_bytecode 
    global_attr_name = get_operation_arg_name() 
    File "c:\program files\python36\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2731, in get_operation_arg_name 
    return module_code_object.co_names[co_names_index] 
IndexError: tuple index out of range 

EDIT: L'utilisation de py2exe entraîne également la même erreur.

S'il vous plaît HELP! Merci, Evank28

Répondre

3

Ok, je l'ai compris. Pyinstaller n'est pas encore prêt pour Python 3.6 et c'est l'erreur qui se produit lors de l'utilisation de Pyinstaller avec Python 3.6. J'ai désinstallé Pyinstaller et installé la version de développement de Pyinstaller avec les commandes suivantes dans Invite de commandes. Puis, utilisez pyinstaller de la même manière que d'habitude et cela fonctionne comme un charme. L'installation officielle ne fonctionne pas encore pour Python v3.6.

pyinstaller myprogram.py