Issue #335 resolved

Version 0.6.31 broken against 'site-packages' which do not have 'distribute'

Eric McDonald
created an issue

After upgrading to the version 0.6.31 'distribute_setup.py' and using it to bootstrap, I am no longer able to run any setup.py command in virtual environments created with --no-site-packages and which do not have their own distribute egg in their 'site-packages' dirs. It seems that the otherwise very welcome patch for issue https://bitbucket.org/tarek/distribute/issue/323 may have introduced the problem:

(PYTHON27-ENV) dist-bug $ python setup.py --help-commands

Traceback (most recent call last):
  File "setup.py", line 42, in <module>
    setup( **setup_data )
  File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 221, in __init__
  File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 246, in fetch_build_eggs
TypeError: resolve() got an unexpected keyword argument 'replace_conflicting'

(PYTHON27-ENV) dist-bug $ ls PYTHON27-ENV/lib/python2.7/site-packages/distribute*

ls: cannot access PYTHON27-ENV/lib/python2.7/site-packages/distribute*: No such file or directory

Works fine with a virtualenv or regular install, which include distribute eggs in their 'site-packages':

dist-bug $ ls -d /usr/lib64/python2.7/site-packages/distribute*

/usr/lib64/python2.7/site-packages/distribute-0.6.21-py2.7.egg-info

dist-bug $ python setup.py --help-commands >/dev/null && echo $?

0

(PYTHON31-ENV) dist-bug $ ls -d PYTHON31-ENV/lib/python3.1/site-packages/distribute-0.6.24-py3.1.egg 

PYTHON31-ENV/lib/python3.1/site-packages/distribute-0.6.24-py3.1.egg

(PYTHON31-ENV) dist-bug $ python setup.py --help-commands >/dev/null && echo $?

0

Attached is a 'setup.py' file I pared down from a project I am working on. You can use it in conjunction with the distribute_setup.py 0.6.31 to reproduce the problem. The problematic Python 2.7 virtualenv was created with: virtualenv --no-site-packages PYTHON27-ENV Nothing extra was installed into it. (I was able to reproduce the problem with virtualenvs from both a pristine Python 2.6.8 that I built from scratch earlier today and my OS distros Python 2.7.2.)

Please let me know if you need more information.

Thanks, Eric

Comments (5)

  1. Log in to comment