Whither datetime.date ?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Harald Hanche-Olsen

    Whither datetime.date ?

    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_mont h
    _months = [datetime.date(2 001, 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.[color=blue][color=green][color=darkred]
    >>> import datetime
    >>> dir(datetime)[/color][/color][/color]
    ['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?

    The official home of the Python Programming Language



    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?

    --
    * Harald Hanche-Olsen <URL:http://www.math.ntnu.n o/~hanche/>
    - Debating gives most of us much more psychological satisfaction
    than thinking does: but it deprives us of whatever chance there is
    of getting closer to the truth. -- C.P. Snow
  • Diez B. Roggisch

    #2
    Re: Whither datetime.date ?

    Harald Hanche-Olsen wrote:[color=blue]
    > I'm beginning to wonder if the FreeBSD python package is at fault.[/color]

    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.[color=blue][color=green][color=darkred]
    >>> import datetime
    >>> dir(datetime)[/color][/color][/color]
    ['MAXYEAR', 'MINYEAR', '__doc__', '__file__', '__name__', 'date',
    'datetime', 'datetime_CAPI' , 'time', 'timedelta', 'tzinfo'][color=blue][color=green][color=darkred]
    >>>[/color][/color][/color]


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

    What does

    python2.4 -v -c "import datetime"

    give you?
    --
    Regards,

    Diez B. Roggisch

    Comment

    • Tim Peters

      #3
      Re: Whither datetime.date ?

      [Harald Hanche-Olsen][color=blue]
      > 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_mont h
      > _months = [datetime.date(2 001, 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.[color=green][color=darkred]
      > >>> import datetime
      > >>> dir(datetime)[/color][/color]
      > ['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?[/color]

      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.

      Comment

      • Harald Hanche-Olsen

        #4
        Re: Whither datetime.date ?

        + Tim Peters <tim.peters@gma il.com>:

        | As you've deduced, you're certainly not getting Python's builtin
        | datetime module.

        Argh. Yeah, I've had one lying around in my personal python directory
        since 2000, had totally forgotten it was there. This one ...

        *** Author: Jeff Kunce <kuncej@mail.co nservation.stat e.mo.us>
        *** Download from: http://starship.skyport.net/crew/jjkunce

        Removed it, now all is well.

        Thanks for pointing out the blindingly obvious.

        --
        * Harald Hanche-Olsen <URL:http://www.math.ntnu.n o/~hanche/>
        - Debating gives most of us much more psychological satisfaction
        than thinking does: but it deprives us of whatever chance there is
        of getting closer to the truth. -- C.P. Snow

        Comment

        Working...