I'm a newbie to Zope. I've read about it and now I'm trying it out. I installed Zope version Zope-2.6.4rc2-linux2-x86 on Mandrake linux 8.2. If I run 'uname -a', I get: Linux jjapc3 2.4.18-6mdk #1 Fri Mar 15 02:59:08 CET 2002 i686 unknown _______________________________________________ When I try to run 'start', I get the following traceback: jja@jjapc3% Traceback (most recent call last): File "/usr/local/zope/Zope-2.6.4rc2-linux2-x86/z2.py", line 250, in ? from types import StringType, IntType File "/usr/lib/python2.2/types.py", line 49 yield 1 ^ SyntaxError: invalid syntax [2] Exit 1 ./start ________________________________________________ I've done some programming in Python, but I don't recognize 'yield' and could not find it in the online Python documents, nor would I want to change anything in the Python library anyway. Do I need to run a later version of Python? Any suggestions? Thanks in advance for any ideas or help. Jim Anderson """Define names for all type symbols known in the standard interpreter. Types that are part of optional modules (e.g. array) are not listed. """ from __future__ import generators import sys # Iterators in Python aren't a matter of type but of protocol. A large # and changing number of builtin types implement *some* flavor of # iterator. Don't check the type! Use hasattr to check for both # "__iter__" and "next" attributes instead. NoneType = type(None) TypeType = type ObjectType = object IntType = int LongType = long FloatType = float try: ComplexType = complex except NameError: pass StringType = str try: UnicodeType = unicode StringTypes = (StringType, UnicodeType) except NameError: StringTypes = (StringType,) BufferType = type(buffer('')) TupleType = tuple ListType = list DictType = DictionaryType = dict def _f(): pass FunctionType = type(_f) LambdaType = type(lambda: None) # Same as FunctionType try: CodeType = type(_f.func_code) except RuntimeError: # Execution in restricted environment pass def g(): yield 1 GeneratorType = type(g()) del g class _C: def _m(self): pass ClassType = type(_C) UnboundMethodType = type(_C._m) # Same as MethodType _x = _C() InstanceType = type(_x) MethodType = type(_x._m) BuiltinFunctionType = type(len) BuiltinMethodType = type([].append) # Same as BuiltinFunctionType ModuleType = type(sys) FileType = file XRangeType = type(xrange(0)) try: raise TypeError except TypeError: try: tb = sys.exc_info()[2] TracebackType = type(tb) FrameType = type(tb.tb_frame) except AttributeError: # In the restricted environment, exc_info returns (None, None, # None) Then, tb.tb_frame gives an attribute error pass tb = None; del tb SliceType = type(slice(0)) EllipsisType = type(Ellipsis) DictProxyType = type(TypeType.__dict__) del sys, _f, _C, _x, generators # Not for export
Jim Anderson wrote at 2004-2-13 09:55 -0500:
... _______________________________________________ When I try to run 'start', I get the following traceback:
jja@jjapc3% Traceback (most recent call last): File "/usr/local/zope/Zope-2.6.4rc2-linux2-x86/z2.py", line 250, in ? from types import StringType, IntType File "/usr/lib/python2.2/types.py", line 49 yield 1 ^ SyntaxError: invalid syntax
Looks as if a Python 2.1.x tries to execute Python 2.2 code. Usually, Python protects itself against such incidents. You might have a buggy PYTHONPATH in your environment.
... I've done some programming in Python, but I don't recognize 'yield'
It was introduced in Python 2.2.
and could not find it in the online Python documents,
You will in the "Python Language Reference" -- for Python 2.2 or higher.
... Do I need to run a later version of Python? Any suggestions?
You must determine why a Python 2.1.x happens to use "types.py" from a Python 2.2 installation. When you are ready to regenerate Zope (this is easy), you can regenerate it to use Python 2.2 and forget Python 2.1. -- Dieter
participants (2)
-
Dieter Maurer -
Jim Anderson