Modify ↓
#4729 closed defect (fixed)
Trac broken for Python 2.3: tee not in itertools
Reported by: | anonymous | Owned by: | Matthew Good |
---|---|---|---|
Priority: | high | Milestone: | 0.11 |
Component: | general | Version: | devel |
Severity: | critical | Keywords: | python23 |
Cc: | tjb@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
Traceback (most recent call last): File "C:\Python23\Scripts\trac-admin", line 21, in ? from trac.admin.console import run File "C:\Python23\Lib\site-packages\trac\admin\console.py", line 28, in ? from trac import perm, util, db_default File "C:\Python23\Lib\site-packages\trac\perm.py", line 21, in ? from trac.config import ExtensionOption File "C:\Python23\Lib\site-packages\trac\config.py", line 26, in ? from trac.util import sorted File "C:\Python23\Lib\site-packages\trac\util\__init__.py", line 28, in ? from itertools import tee, izip ImportError: cannot import name tee
see also: http://code.djangoproject.com/browser/django/trunk/django/utils/itercompat.py?rev=4084
Attachments (0)
Change History (7)
comment:1 by , 18 years ago
Cc: | added |
---|
comment:2 by , 18 years ago
Milestone: | → 0.11 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:4 by , 18 years ago
I applied this, and hit a separate problem, at line 97 in source:/trunk/trac/util/compat.py@4776
File "/usr/lib/python2.3/site-packages/trac/util/compat.py", line 97 in gen for i in count(): NameError: global name 'count' is not defined
I am trying to find out where count() should come from.
comment:5 by , 18 years ago
The following change works for me…
try: from itertools import tee except ImportError: # Need to import count! from itertools import count def tee(iterable): def gen(next, data={}, cnt=[0]): for i in count(): if i == cnt[0]: item = data[i] = next() cnt[0] += 1 else: item = data.pop(i) yield item it = iter(iterable) return (gen(it.next), gen(it.next))
and r4776 runs correctly now.
comment:6 by , 18 years ago
Keywords: | python23 added |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
comment:7 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
This was fixed by thatch in r4805.
Note:
See TracTickets
for help on using tickets.
Right, thanks for the reminder.
BTW itertools provides example implementations of the methods in the documentation, which is where Django got that from.