【发布时间】:2017-05-28 19:32:48
【问题描述】:
我一直在使用 cxFreeze 构建我的 Python 代码,直到今天都没有问题。不过,我不确定问题是否来自 cxFreeze。尽管网络上有一些 RuntimeError 异常,但它们与我得到的并不完全匹配。
$ python2.7 setup.py build
running build
running build_exe
Traceback (most recent call last):
File "setup.py", line 79, in <module>
executables = [client, updater, dbg_updater]
File "C:\python27\lib\site-packages\cx_Freeze\dist.py", line 362, in setup
distutils.core.setup(**attrs)
File "C:\python27\lib\distutils\core.py", line 151, in setup
dist.run_commands()
File "C:\python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\python27\lib\distutils\command\build.py", line 127, in run
self.run_command(cmd_name)
File "C:\python27\lib\distutils\cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "C:\python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\python27\lib\site-packages\cx_Freeze\dist.py", line 232, in run
freezer.Freeze()
File "C:\python27\lib\site-packages\cx_Freeze\freezer.py", line 619, in Freeze
self.finder = self._GetModuleFinder()
File "C:\python27\lib\site-packages\cx_Freeze\freezer.py", line 378, in _GetModuleFinder
finder.IncludePackage(name)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 686, in IncludePackage
module = self._ImportModule(name, deferredImports)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 346, in _ImportModule
deferredImports, namespace = namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 419, in _InternalImportModule
namespace = namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 436, in _InternalImportModule
parentModule, namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 448, in _LoadModule
namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 513, in _LoadPackage
self._LoadModule(name, fp, path, info, deferredImports, parent)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 502, in _LoadModule
self._ScanCode(module.code, module, deferredImports)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 601, in _ScanCode
module, relativeImportIndex)
......................................
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 356, in _ImportModule
deferredImports, namespace = namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 436, in _InternalImportModule
parentModule, namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 502, in _LoadModule
self._ScanCode(module.code, module, deferredImports)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 601, in _ScanCode
module, relativeImportIndex)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 356, in _ImportModule
deferredImports, namespace = namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 436, in _InternalImportModule
parentModule, namespace)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 449, in _LoadModule
module = self._AddModule(name)
File "C:\python27\lib\site-packages\cx_Freeze\finder.py", line 213, in _AddModule
module = self._modules[name] = Module(name)
RuntimeError: maximum recursion depth exceeded while calling a Python object
不知道是什么造成了这个错误。我没有添加任何新模块,只是修复了程序中的一些错误。我有最新版本的 pip 和 setuptools。有谁知道这个错误是什么意思?
如果你想看代码,在这里:https://github.com/vlegoff/cocomud/blob/master/src/setup.py
提前致谢!
编辑: 原来所有的大惊小怪都是因为解析模块(pypi.python.org/pypi/parse),尽管它不包含在我试图冻结的项目中。我用 pip uninstall 删除了它,当我尝试冻结我的项目时它起作用了。不知道为什么,我这样做是因为我记得安装了两个新软件包来试用它们。
【问题讨论】:
标签: python pip setuptools cx-freeze