递归错误:尝试从python文件使用openpyxl创建独立可执行文件

时间:2019-06-06 08:16:13

标签: python python-3.x pyinstaller

我正在尝试使用Python 3.6创建一个独立的可执行文件。通常我使用pyinstaller来执行此操作,但是通过导入“ openpyxl”会发生递归错误。我尝试了几件事,但没有成功。有谁可以帮助我吗?这是我的简单代码:

from openpyxl import load_workbook
print("Hello World") 

到目前为止我尝试过的事情:

  • 尝试更改this之类的递归限制,但收到错误消息“找不到现有PyQt5插件目录”(我在脚本中未使用Qt)

  • 遵循this指令:使用cx_Freeze。错误:KeyError:'TCL_LIBRARY'

  • 使用py2exe,如图here所示,但出现错误文件“ C:\ Users \ xxx \ AppData \ Roaming \ Python \ Python36 \ site-packages \ py2exe \ mf3.py”,第417行,以_scan_opcodes 产生“存储”,(名称[oparg],) IndexError:元组索引超出范围

现在我没办法了... 编辑:我不能切换到python 3.5

所以这是我第一次尝试使用pyinstaller的错误消息,就像我之前几次一样,这是解决此问题的首选方法。我不得不部分删除它,因为我可能输入的字符数可能不够。发生此错误后,我尝试了上面显示的三个步骤。

C:\Users\xxx\AppData\Roaming\Python\Python36\Scripts>pyinstaller.exe --onefile C:/users/xxx/desktop/testnew.py
110 INFO: PyInstaller: 3.4
110 INFO: Python: 3.6.4
110 INFO: Platform: Windows-10-10.0.17763-SP0
110 INFO: wrote C:\Users\xxx\AppData\Roaming\Python\Python36\Scripts\testnew.spec
110 INFO: UPX is not available.
126 INFO: Extending PYTHONPATH with paths
['C:\\users\\xxx\\desktop',
 'C:\\Users\\xxx\\AppData\\Roaming\\Python\\Python36\\Scripts']
126 INFO: checking Analysis
126 INFO: Building because C:\users\xxx\desktop\testnew.py changed
126 INFO: Initializing module dependency graph...
126 INFO: Initializing module graph hooks...
126 INFO: Analyzing base_library.zip ...
3430 INFO: running Analysis Analysis-00.toc
3446 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
  required by c:\program files\anaconda3\python.exe
3680 INFO: Caching module hooks...
3696 INFO: Analyzing C:\users\xxx\desktop\testnew.py
5523 INFO: Processing pre-find module path hook   distutils
6436 INFO: Processing pre-find module path hook   site
6436 INFO: site: retargeting to fake-dir 'C:\\Users\\xxx\\AppData\\Roaming\\Python\\Python36\\site-packages\\PyInstaller\\fake-modules'
7499 INFO: Processing pre-safe import module hook   setuptools.extern.six.moves
13325 INFO: Processing pre-safe import module hook   six.moves
22325 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
36970 INFO: Processing pre-safe import module hook   win32com
Traceback (most recent call last):
  File "c:\program files\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\Scripts\pyinstaller.exe\__main__.py", line 9, in <module>
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\__main__.py", line 111, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\__main__.py", line 63, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\building\build_main.py", line 838, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\building\build_main.py", line 784, in build
    exec(text, spec_namespace)
  File "<string>", line 17, in <module>
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\building\build_main.py", line 241, in __init__
    self.__postinit__()
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
    self.assemble()
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\building\build_main.py", line 443, in assemble
    priority_scripts.append(self.graph.run_script(script))
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\depend\analysis.py", line 201, in run_script
    self._top_script_node = super(PyiModuleGraph, self).run_script(pathname)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1348, in run_script
    self._scan_code(m, co, co_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
    self._process_imports(module)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
    target_module = self._safe_import_hook(*import_info, **kwargs)[0]
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
    target_attr_names=None, level=level, edge_attr=edge_attr)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1421, in import_hook
    source_package, target_module_partname, level)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1573, in _find_head_package
    target_module_headname, target_package_name, source_package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
    module_basename, module_name, parent_package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
    module_name, file_handle, pathname, metadata)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2028, in _load_module
    m = self._load_package(fqname, pathname, packagepath)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2813, in _load_package
    self._load_module(fqname, fp, buf, stuff)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
    self._scan_code(m, co, co_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
    self._process_imports(module)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
    target_module = self._safe_import_hook(*import_info, **kwargs)[0]
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
    target_attr_names=None, level=level, edge_attr=edge_attr)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1422, in import_hook
    target_module = self._load_tail(target_package, target_module_partname)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1635, in _load_tail
    submodule = self._safe_import_module(head, mname, submodule)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
    module_basename, module_name, parent_package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
    module_name, file_handle, pathname, metadata)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2028, in _load_module
    m = self._load_package(fqname, pathname, packagepath)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2813, in _load_package
    self._load_module(fqname, fp, buf, stuff)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
    self._scan_code(m, co, co_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
    self._process_imports(module)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
    target_module = self._safe_import_hook(*import_info, **kwargs)[0]
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
    target_attr_names=None, level=level, edge_attr=edge_attr)


..........



  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2028, in _load_module
    m = self._load_package(fqname, pathname, packagepath)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2813, in _load_package
    self._load_module(fqname, fp, buf, stuff)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
    self._scan_code(m, co, co_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
    self._process_imports(module)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
    target_module = self._safe_import_hook(*import_info, **kwargs)[0]
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2417, in _safe_import_hook
    edge_attr=edge_attr)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1438, in import_hook
    target_module, target_attr_names):
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1726, in _import_importable_package_submodules
    attr_name, submodule_name, package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
    module_basename, module_name, parent_package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
    module_name, file_handle, pathname, metadata)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
    self._scan_code(m, co, co_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
    self._process_imports(module)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
    target_module = self._safe_import_hook(*import_info, **kwargs)[0]
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2417, in _safe_import_hook
    edge_attr=edge_attr)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1438, in import_hook
    target_module, target_attr_names):
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1726, in _import_importable_package_submodules
    attr_name, submodule_name, package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
    module_basename, module_name, parent_package)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
    module_name, file_handle, pathname, metadata)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
    self._scan_code(m, co, co_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2532, in _scan_code
    self._scan_ast(module, module_code_object_ast)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2561, in _scan_ast
    visitor.visit(module_code_object_ast)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 965, in visit_FunctionDef
    self.generic_visit(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 960, in visit_If
    self.generic_visit(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 960, in visit_If
    self.generic_visit(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 960, in visit_If
    self.generic_visit(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "C:\Users\xxx\AppData\Roaming\Python\Python36\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 960, in visit_If
    self.generic_visit(node)
  File "c:\program files\anaconda3\lib\ast.py", line 261, in generic_visit
    self.visit(item)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "c:\program files\anaconda3\lib\ast.py", line 263, in generic_visit
    self.visit(value)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "c:\program files\anaconda3\lib\ast.py", line 263, in generic_visit
    self.visit(value)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "c:\program files\anaconda3\lib\ast.py", line 263, in generic_visit
    self.visit(value)
  File "c:\program files\anaconda3\lib\ast.py", line 253, in visit
    return visitor(node)
  File "c:\program files\anaconda3\lib\ast.py", line 257, in generic_visit
    for field, value in iter_fields(node):
RecursionError: maximum recursion depth exceeded

1 个答案:

答案 0 :(得分:0)

最后我做到了:

  1. pip卸载openpyxl
  2. pip install openpyxl == 2.3.5
  3. pip安装PyQt5
相关问题