[Python-bugs-list] [ python-Bugs-417833 ] pydoc HTTP reload failure

noreply@sourceforge.net noreply@sourceforge.net
Sat, 21 Apr 2001 07:55:21 -0700


Bugs item #417833, was updated on 2001-04-21 07:10
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=417833&group_id=5470

Category: Python Library
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Garth T Kidd (gtk)
Assigned to: Ka-Ping Yee (ping)
Summary: pydoc HTTP reload failure

Initial Comment:
pydoc, when run as a web server, can't cope with 
reloads of modules which use 'from Package import 
Module' syntax for imports. 

To reproduce: 

* extract the attached DemonstratePydocBug tarchive 
into your Python 2.1 directory

* python -c Lib\pydoc.py -p 8192

* visit http://localhost:8192/DemonstratePydocBug.html

The rest of the instructions are there. 

Demonstrated on Python 2.1 (#15, Apr 16 2001, 
18:25:49) [MSC 32 bit (Intel)] on win32. 

Funnily enough, there's no problem with trying the 
following under Python interactively: 

Python 2.1 (#15, Apr 16 2001, 18:25:49) [MSC 32 bit 
(Intel)] on win32
Type "copyright", "credits" or "license" for more 
information.
>>> import DemonstratePydocBug.ReloadFails
>>> import DemonstratePydocBug.ReloadFails
>>> import DemonstratePydocBug.ReloadFails
>>> import DemonstratePydocBug.ReloadFails

Python 2.1 (#15, Apr 16 2001, 18:25:49) [MSC 32 bit 
(Intel)] on win32
Type "copyright", "credits" or "license" for more 
information.
>>> from DemonstratePydocBug import ReloadFails
>>> from DemonstratePydocBug import ReloadFails
>>> from DemonstratePydocBug import ReloadFails
>>> from DemonstratePydocBug import ReloadFails

I'm dropping additional debugging code into pydoc.py 
to see if I can figure out what's going on. 

----------------------------------------------------------------------

>Comment By: Garth T Kidd (gtk)
Date: 2001-04-21 07:55

Message:
Logged In: YES 
user_id=59803

>>> import pydoc
>>> import DemonstratePydocBug
>>> pydoc.help(DemonstratePydocBug.Target)

... we get good stuff...

>>> print DemonstratePydocBug.ReloadFails2
<module 'DemonstratePydocBug.ReloadFails2' 
from 'DemonstratePydocBug\ReloadFails2.py'>
>>> pydoc.help(DemonstratePydocBug.ReloadFails2)

... we get good stuff...


----------------------------------------------------------------------

Comment By: Garth T Kidd (gtk)
Date: 2001-04-21 07:43

Message:
Logged In: YES 
user_id=59803

I've found another demonstration case. Noting that 

    from package import module

gives you a variable called 'module', whilst 

    import package.module

gives you a variable called 'package', I thought I'd try 
out another import syntax which wouldn't break code that 
was trying out the first option: 

    import package.module as module

This also works under the Python 2.1 interpreter but breaks 
pydoc 1.38. I've attached an updated demonstration 
tarchive. 

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=417833&group_id=5470