Whither datetime.date ?

  • Thread starter Harald Hanche-Olsen
  • Start date
H

Harald Hanche-Olsen

I'm confused. I was going to try linkchecker, and it dies with a
traceback ending in

File "/usr/local/lib/python2.4/calendar.py", line 32, in _localized_month
_months = [datetime.date(2001, i+1, 1).strftime for i in range(12)]
AttributeError: 'module' object has no attribute 'date'

Sure enough, there is no datetime.date, but there is a datetime.Date:

Python 2.4 (#2, Feb 19 2005, 20:35:23)
[GCC 3.4.2 [FreeBSD] 20040728] on freebsd5
Type "help", "copyright", "credits" or "license" for more information.['Date', 'DateTime', ...]

However, the Library Reference clearly states that datetime.date
should exist. Granted, it's been a while since I used python in
anger, but isn't this what it says?

http://www.python.org/doc/2.4/lib/node243.html
http://www.python.org/doc/2.4/lib/datetime-date.html

Moreover, the datetime.date class is supposed to have a strftime()
method. datetime.Date does not.

I'm beginning to wonder if the FreeBSD python package is at fault.

Or what is really going on here?
 
D

Diez B. Roggisch

Harald said:
I'm beginning to wonder if the FreeBSD python package is at fault.

Maybe - at my system, it has no Date or DateTime

Python 2.4.1a0 (#2, Feb 9 2005, 12:50:04)
[GCC 3.3.5 (Debian 1:3.3.5-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.['MAXYEAR', 'MINYEAR', '__doc__', '__file__', '__name__', 'date',
'datetime', 'datetime_CAPI', 'time', 'timedelta', 'tzinfo']

Maybe this is a clash between a custom datetime module and the python one?

What does

python2.4 -v -c "import datetime"

give you?
 
T

Tim Peters

[Harald Hanche-Olsen]
I'm confused. I was going to try linkchecker, and it dies with a
traceback ending in

File "/usr/local/lib/python2.4/calendar.py", line 32, in _localized_month
_months = [datetime.date(2001, i+1, 1).strftime for i in range(12)]
AttributeError: 'module' object has no attribute 'date'

Sure enough, there is no datetime.date, but there is a datetime.Date:

Python 2.4 (#2, Feb 19 2005, 20:35:23)
[GCC 3.4.2 [FreeBSD] 20040728] on freebsd5
Type "help", "copyright", "credits" or "license" for more information.['Date', 'DateTime', ...]

However, the Library Reference clearly states that datetime.date
should exist. Granted, it's been a while since I used python in
anger, but isn't this what it says?

http://www.python.org/doc/2.4/lib/node243.html
http://www.python.org/doc/2.4/lib/datetime-date.html

Moreover, the datetime.date class is supposed to have a strftime()
method. datetime.Date does not.

I'm beginning to wonder if the FreeBSD python package is at fault.

Or what is really going on here?

As you've deduced, you're certainly not getting Python's builtin
datetime module. Therefore you must be getting some other datetime
module. Run Python with the "-v" switch to get output telling you how
imports are resolved. That will show you where this other datetime
module is coming from. Remember that Python searches along sys.path
to resolve imports, taking the first thing it finds with the right
name. You almost certainly have something _called_ datetime earlier
in your PYTHONPATH than where the standard Python libraries appear.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top