Bugs item #1529871, was opened at 2006-07-27 17:49 Message generated for change (Comment added) made by pje You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1529871&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Python Library Group: Python 2.5 Status: Open Resolution: None Priority: 6 Submitted By: Collin Winter (collinwinter) Assigned to: Phillip J. Eby (pje) Summary: distutils regression related to Distribution.run_command Initial Comment: The following used to work in Python 2.4.x but fails under Python 2.5: >>> import setuptools >>> import distutils.core >>> distutils.core._setup_stop_after = 'config' >>> >>> import setup >>> setup.dist.run_command('test') Where setup.dist is an instance of distutils.core.Distribution (which setuptools replaces with setuptools.dist.Distribution). Under Python 2.4.x, this code would execute setuptools' test command. Under Python 2.5b2 (as of r50855), this code results in the following exception: /opt/dev/python/2.5/lib/python2.5/distutils/dist.py:263: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) Traceback (most recent call last): File "test.py", line 8, in <module> setup.dist.run_command('test') File "/opt/dev/python/2.5/lib/python2.5/distutils/dist.py", line 992, in run_command cmd_obj = self.get_command_obj(command) File "/opt/dev/python/2.5/lib/python2.5/distutils/dist.py", line 868, in get_command_obj klass = self.get_command_class(command) File "/opt/dev/python/2.5/lib/python2.5/site-packages/setuptools/dist.py", line 357, in get_command_class return _Distribution.get_command_class(self, command) File "/opt/dev/python/2.5/lib/python2.5/distutils/dist.py", line 851, in get_command_class raise DistutilsModuleError("invalid command '%s'" % command) distutils.errors.DistutilsModuleError: invalid command 'test' I'd greatly appreciate it if this regression could be fixed before Python 2.5 is released. ---------------------------------------------------------------------- >Comment By: Phillip J. Eby (pje) Date: 2006-07-28 04:53 Message: Logged In: YES user_id=56214 Um, why is there a py2.4 egg on your python 2.5 path? Setuptools configures itself according to the Python version it is built with, so a 2.4 egg is not going to be correctly configured for 2.5. I don't know if this is related to your problem or not, but I was unable to reproduce your problem with a setuptools 0.7a1 checkout. I was only able to reproduce it with setuptools 0.6. ---------------------------------------------------------------------- Comment By: Collin Winter (collinwinter) Date: 2006-07-27 22:12 Message: Logged In: YES user_id=1344176 I've tried using setuptools 0.7a1 in conjunction with Python 2.5b2 (r50877), and the problem still exists. setuptools' extension commands still do not work (tested: rotate, alias, egg_info, bdist_egg, test), that is, 'python2.5 setup.py test' still fails with "error: invalid command 'test'". Also, the code snippet in the bug report does not work. I am sure Python is picking up setuptools 0.7a1 because the path /opt/dev/python/2.5/lib/python2.5/site-packages/setuptools-0.7a1dev_r50755-py2.4.egg/setuptools/dist.py appears in the traceback. ---------------------------------------------------------------------- Comment By: Phillip J. Eby (pje) Date: 2006-07-27 21:13 Message: Logged In: YES user_id=56214 Problem source confirmed: reverting the PEP 302 breakage of r46372 (need-for-speed import cache hack) fixes the problem. setuptools 0.7a1 doesn't show any problems because it uses 2.5's "pkgutil" module if possible, and r46372 patches pkgutil in a way that masks the problem, at least as far as setuptools is concerned, for this one specific feature. (Other code in setuptools is affected in both 0.6 *and* 0.7, and will require further workaround code to be written.) ---------------------------------------------------------------------- Comment By: Phillip J. Eby (pje) Date: 2006-07-27 18:35 Message: Logged In: YES user_id=56214 I can't reproduce this using setuptools 0.7a1 and the Python 2.5 trunk. Please note that setuptools 0.6 does *not* support Python 2.5; there were numerous changes needed and there may still be additional changes needed. Please try using setuptools 0.7a1 and let me know what you find out. Thanks. ---------------------------------------------------------------------- Comment By: Collin Winter (collinwinter) Date: 2006-07-27 18:34 Message: Logged In: YES user_id=1344176 Further testing reveals that all of setuptools' extension commands (tested: egg_info, bdist_egg, test, rotate, alias) are broken under Python 2.5b2, even when called from the command line, like so: $ python2.5 setup.py egg_info This produces an "error: invalid command: 'egg_info'" message. ---------------------------------------------------------------------- Comment By: Collin Winter (collinwinter) Date: 2006-07-27 18:18 Message: Logged In: YES user_id=1344176 Forgot to mention: I've tried this with setuptools 0.6a9 and 0.6c1. Python 2.4.x (2.4.1, 2.4.2 and 2.4.3 tested) with both setuptools version worked fine, where Python 2.5b2 fails with both. ---------------------------------------------------------------------- Comment By: A.M. Kuchling (akuchling) Date: 2006-07-27 18:03 Message: Logged In: YES user_id=11375 Assigned to Phillip. I don't see any obviously relevant changes to distutils/dist.py, but maybe this problems stems from changes to some other module. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1529871&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com