Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #39019

Re: Calendar module question

References <51208B03.2070404@bigpond.com>
Date 2013-02-17 00:39 -0800
Subject Re: Calendar module question
From Chris Rebert <clp2@rebertia.com>
Newsgroups comp.lang.python
Message-ID <mailman.1885.1361090374.2939.python-list@python.org> (permalink)

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Saturday, February 16, 2013, Phil wrote:

> Thank you for reading this.
>
> My adventures with Python have just begun and during the few weeks I have
> tried many IDEs. The following piece of code fails under all IDEs, and the
> interpreter, except under the Wing IDE.
>
> Why would this code work under the Wing IDE and nowhere else? Could there
> be a different calendar module included with Wing?
>
> import calendar
>
> cal = calendar.prcal(2013)
> print cal
>
> Traceback (most recent call last):
>   File "calendar.py", line 1, in <module>
>     import calendar
>   File "/home/phil/calendar.py", line 3, in <module>
>     cal = calendar.prcal(2013)
> AttributeError: 'module' object has no attribute 'prcal'
>

You named your own script file "calendar.py". As a result, when you
did `import calendar`, due to the way Python 2.x searches for modules, it
imports your file instead of the `calendar` module in the standard library,
thus leading to the above exception. Because of this sort of problem, it
is/was considered bad practice to give a module/package the same name as
any std lib module.

However, if you are running a recent-ish version of Python, adding `from
__future__ import absolute_import` may resolve the problem. See PEP 328 for
details. Absolute imports were thankfully made the default in Python 3.


-- 
Cheers,
Chris
--
http://rebertia.com

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Calendar module question Chris Rebert <clp2@rebertia.com> - 2013-02-17 00:39 -0800

csiph-web