[Distutils] Mutual recursion between setuptools and distutils with Python 2.7

Antoine Pitrou solipsis at pitrou.net
Sun May 31 20:04:20 CEST 2009


Hello,

I'm not sure where to post this (distutils or setuptools bug?), so I'm trying
here first. Using the CPython trunk, there's an infinite recursion due to a
mutual recursion between setuptools and distutils. Here is a snippet of a
traceback (trimmed for obvious reasons):

$ usr/bin/easy_install -Z -i
http://www.turbogears.org/2.0/downloads/current/index tg.devtools
Searching for tg.devtools
Reading http://www.turbogears.org/2.0/downloads/current/index/tg.devtools/
Best match: tg.devtools 2.0
Downloading http://www.turbogears.org/2.0/downloads/current/tg.devtools-2.0.tar.gz
Processing tg.devtools-2.0.tar.gz
Running tg.devtools-2.0/setup.py -q bdist_egg --dist-dir
/home/antoine/tmp/easy_install-AkgVEJ/tg.devtools-2.0/egg-dist-tmp-DQjVL4
Traceback (most recent call last):
  File "usr/bin/easy_install", line 8, in <module>
    load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
1671, in main
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
1659, in with_ei_usage
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
1675, in <lambda>
  File "/home/antoine/cpython/__svn__/Lib/distutils/core.py", line 149, in setup
    dist.run_commands()
  File "/home/antoine/cpython/__svn__/Lib/distutils/dist.py", line 929, in
run_commands
    self.run_command(cmd)
  File "/home/antoine/cpython/__svn__/Lib/distutils/dist.py", line 948, in
run_command
    cmd_obj.run()
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
211, in run
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
446, in easy_install
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
476, in install_item
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
655, in install_eggs
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
930, in build_and_install
  File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line
919, in run_setup
  File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 27, in run_setup
  File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 63, in run
  File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 29, in <lambda>
  File "setup.py", line 53, in <module>
    return None
  File "/home/antoine/cpython/__svn__/Lib/distutils/core.py", line 149, in setup
    dist.run_commands()
  File "/home/antoine/cpython/__svn__/Lib/distutils/dist.py", line 929, in
run_commands
    self.run_command(cmd)
  File "/home/antoine/cpython/__svn__/Lib/distutils/dist.py", line 948, in
run_command
    cmd_obj.run()
  File "build/bdist.linux-x86_64/egg/setuptools/command/bdist_egg.py", line 167,
in run
  File "/home/antoine/cpython/__svn__/Lib/distutils/cmd.py", line 326, in
run_command
    self.distribution.run_command(command)
  File "/home/antoine/cpython/__svn__/Lib/distutils/dist.py", line 948, in
run_command
    cmd_obj.run()
  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 177,
in run
  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 252,
in find_sources
  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 306,
in run
  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 330,
in add_defaults
  File "/home/antoine/cpython/__svn__/Lib/distutils/command/sdist.py", line 288,
in add_defaults
    for pkg, src_dir, build_dir, filenames in build_py.data_files:
  File "build/bdist.linux-x86_64/egg/setuptools/command/build_py.py", line 39,
in __getattr__
  File "build/bdist.linux-x86_64/egg/setuptools/command/build_py.py", line 44,
in _get_data_files
  File "build/bdist.linux-x86_64/egg/setuptools/command/build_py.py", line 92,
in analyze_manifest
  File "/home/antoine/cpython/__svn__/Lib/distutils/cmd.py", line 326, in
run_command
    self.distribution.run_command(command)
  File "/home/antoine/cpython/__svn__/Lib/distutils/dist.py", line 948, in
run_command
    cmd_obj.run()

[...]

  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 177,
in run
  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 252,
in find_sources
  File "build/bdist.linux-x86_64/egg/setuptools/command/egg_info.py", line 305,
in run
  File "/home/antoine/cpython/__svn__/Lib/distutils/filelist.py", line 45, in
findall
    self.allfiles = findall(dir)
  File "build/bdist.linux-x86_64/egg/setuptools/__init__.py", line 71, in findall
  File "/home/antoine/cpython/__svn__/Lib/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/home/antoine/cpython/__svn__/Lib/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/home/antoine/cpython/__svn__/Lib/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/home/antoine/cpython/__svn__/Lib/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/home/antoine/cpython/__svn__/Lib/os.py", line 294, in walk
    for x in walk(path, topdown, onerror, followlinks):
  File "/home/antoine/cpython/__svn__/Lib/os.py", line 284, in walk
    if isdir(join(top, name)):
  File "/home/antoine/cpython/__svn__/Lib/genericpath.py", line 41, in isdir
    st = os.stat(s)
  File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 87, in wrap
RuntimeError: maximum recursion depth exceeded




More information about the Distutils-SIG mailing list