Hi all, I'm getting a crash in setuptools-0.6c11-py2.6 when trying to install an egg directly from SVN sources. This happens both on OSX and Ubuntu, versions:
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Command and stack trace: $ sudo easy_install https://asibsync.svn.sourceforge.net/svnroot/asibsync/src/asilib Downloading https://asibsync.svn.sourceforge.net/svnroot/asibsync/src/asilib Doing subversion checkout from https://asibsync.svn.sourceforge.net/svnroot/asibsync/src/asilib to /tmp/easy_install-WYCRs6/asilib Processing asilib Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-WYCRs6/asilib/egg-dist-tmp-6_PSoY Traceback (most recent call last): File "/usr/local/bin/easy_install", line 8, in <module> load_entry_point('setuptools==0.6c11', 'console_scripts', 'easy_install')() File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 1712, in main File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 1700, in with_ei_usage File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 1716, in <lambda> File "/usr/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/usr/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 211, in run File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 422, in easy_install File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 476, in install_item File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 655, in install_eggs File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 930, in build_and_install File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/command/easy_install.py", line 919, in run_setup File "/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg/setuptools/sandbox.py", line 52, in run_setup AttributeError: 'module' object has no attribute '__getstate__' This is the first time I look at setuptools' code, but it seems the problem goes away when I conditionally disabled the __getstate__ and __setstate__ lines in sandbox.py, as per this batch: --- sandbox.py.old 2009-10-19 13:35:44.000000000 +0300 +++ sandbox.py 2009-12-17 17:49:10.000000000 +0200 @@ -49,7 +49,8 @@ if not os.path.isdir(temp_dir): os.makedirs(temp_dir) save_tmp = tempfile.tempdir save_modules = sys.modules.copy() - pr_state = pkg_resources.__getstate__() + if hasattr(pkg_resources, '__getstate__'): + pr_state = pkg_resources.__getstate__() try: tempfile.tempdir = temp_dir; os.chdir(setup_dir) try: @@ -69,7 +70,8 @@ raise # Normal exit, just return finally: - pkg_resources.__setstate__(pr_state) + if hasattr(pkg_resources, '__getstate__'): + pkg_resources.__setstate__(pr_state) sys.modules.update(save_modules) for key in list(sys.modules): if key not in save_modules: del sys.modules[key] So is this a bug? My fix is presumably only treating the symptoms, because I've got only little clue of what is happening in the code... Best, Eemeli Kantola _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
