[issue95] [PATCH] ez_setup.py fails when pkg_resources is installed but setuptools is not
New submission from Zooko O'Whielacronx <zooko@zooko.com>: This just happened on Ubuntu Karmic: HACL zooko-desktop:/sdb/zooko/ecometry2rabbit/ecometry2rabbit$ /usr/bin/python setup.py test Traceback (most recent call last): File "setup.py", line 2, in <module> use_setuptools() File "/sdb/zooko/ecometry2rabbit/ecometry2rabbit/ez_setup.py", line 116, in use_setuptools if not setuptools_is_new_enough(min_version): File "/sdb/zooko/ecometry2rabbit/ecometry2rabbit/ez_setup.py", line 88, in setuptools_is_new_enough pkg_resources.require('setuptools >= %s' % (required_version,)) File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 626, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 524, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: setuptools>=0.6c7 As you can see from the following, the pkg_resources module is importable even though setuptools is not installed: HACL zooko-desktop:/sdb/zooko/ecometry2rabbit/ecometry2rabbit$ /usr/bin/python -c 'import pkg_resources;print pkg_resources;print pkg_resources.require("setuptools")' <module 'pkg_resources' from '/usr/lib/python2.6/dist-packages/pkg_resources.pyc'> Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 626, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 524, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: setuptools This is because Debian and Ubuntu package pkg_resources separately: HACL zooko-desktop:/sdb/zooko/ecometry2rabbit/ecometry2rabbit$ dpkg --search pkg_resources.py python-pkg-resources: /usr/share/pyshared/pkg_resources.py python-pkg-resources: /usr/lib/python2.5/site-packages/pkg_resources.py python-pkg-resources: /usr/lib/python2.6/dist-packages/pkg_resources.py HACL zooko-desktop:/sdb/zooko/ecometry2rabbit/ecometry2rabbit$ dpkg --list python-pkg-resources Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Description +++-=====================================================-=====================================================-========================================================================================================================== ii python-pkg-resources 0.6c9-0ubuntu5 Package Discovery and Resource Access using pkg_resources HACL zooko-desktop:/sdb/zooko/ecometry2rabbit/ecometry2rabbit$ dpkg --list python-setuptools Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Description +++-=====================================================-=====================================================-========================================================================================================================== un python-setuptools <none> (no description available) The following patch makes ez_setup.py treat this as a case where it needs to bootstrap setuptools itself: diff --git a/ez_setup.py b/ez_setup.py index 6dd60f9..8b2ad2a 100644 --- a/ez_setup.py +++ b/ez_setup.py @@ -86,6 +86,11 @@ def setuptools_is_new_enough(required_version): else: try: pkg_resources.require('setuptools >= %s' % (required_version,)) + except pkg_resources.DistributionNotFound: + # No setuptools installed (even though pkg_resources is installed)... + pkg_resources.__dict__.clear() # "If you want to be absolutely sure... before deleting it." --said PJE on IRC + del sys.modules['pkg_resources'] + return False except pkg_resources.VersionConflict: # An insufficiently new version is installed. pkg_resources.__dict__.clear() # "If you want to be absolutely sure... before deleting it." --said PJE on IRC ---------- messages: 462 nosy: zooko priority: bug status: unread title: [PATCH] ez_setup.py fails when pkg_resources is installed but setuptools is not _______________________________________________ Setuptools tracker <setuptools@bugs.python.org> <http://bugs.python.org/setuptools/issue95> _______________________________________________
participants (1)
-
Zooko O'Whielacronx