Description of problem: This occurs after running easy_install --user pyparsing [jens@ca60c173 ~]$ easy_install --user pyparsing Searching for pyparsing Reading http://pypi.python.org/simple/pyparsing/ Reading http://pyparsing.wikispaces.com/ Reading http://sourceforge.net/project/showfiles.php?group_id=97203 Reading http://pyparsing.sourceforge.net/ Reading http://sourceforge.net/projects/pyparsing Best match: pyparsing 2.0.0 Downloading http://pypi.python.org/packages/source/p/pyparsing/pyparsing-2.0.0.zip#md5=f9bc56d9f6c977085001db49a63d7bb9 Processing pyparsing-2.0.0.zip Writing /tmp/easy_install-p_yqKo/pyparsing-2.0.0/setup.cfg Running pyparsing-2.0.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-p_yqKo/pyparsing-2.0.0/egg-dist-tmp-JkmIzA Traceback (most recent call last): File "/usr/bin/easy_install", line 9, in <module> load_entry_point('distribute==0.6.28', 'console_scripts', 'easy_install')() File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1929, in main with_ei_usage(lambda: File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1910, in with_ei_usage return f() File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1933, in <lambda> distclass=DistributionWithoutHelpCommands, **kw File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup dist.run_commands() File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 358, in run self.easy_install(spec, not self.no_deps) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 598, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 628, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 823, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1103, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1089, in run_setup run_setup(setup_script, args) File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 30, in run_setup lambda: execfile( File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 78, in run return func() File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 32, in <lambda> {'__file__':setup_script, '__name__':'__main__'} File "setup.py", line 9, in <module> File "/tmp/easy_install-p_yqKo/pyparsing-2.0.0/pyparsing.py", line 629 nonlocal limit,foundArity ^ SyntaxError: invalid syntax Version-Release number of selected component: python-setuptools-0.6.28-3.fc18 Additional info: cmdline: /usr/bin/python /usr/bin/easy_install --user python-graph-core python-graph-dot dso_list: python-libs-2.7.3-13.fc18.x86_64 executable: /usr/bin/easy_install kernel: 3.8.1-201.fc18.x86_64 uid: 1000
Created attachment 709391 [details] File: backtrace
Created attachment 709392 [details] File: core_backtrace
Created attachment 709393 [details] File: environ
If I'm reading the backtrace correctly, this is a bug in upstream pyparsing-2.0. It's also a broken architecture in easy_install but that's something that would have to be taken up with the upstream distribute and setuptools projects. easy_install needs to execute the python code in the package's setup.py in order to find out the metainformation about the package. It needs the metainformation to find things such as the depended upon upstream packages that it will need to download next. This can't simply be parsed out due to setup.py being able to set things using the full range of python. For instance, in this case it is setting the version with the help of: from pyparsing import __version__ as pyparsing_version This means that if there's a severe enough bug in the upstream package being installed, easy_install will error out when it tries to determine the dependencies for that package. A workaround that may be suitable for you is to be more explicit about the version you want so that the broken pyparsing-2.0 isn't downloaded. Like this: easy_install -U --user 'pyparsing < 2.0' which will install 1.5.7 instead.