Calendar module question

Chris Rebert clp2 at rebertia.com
Sun Feb 17 09:39:25 CET 2013


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130217/be53ccc0/attachment.html>


More information about the Python-list mailing list