[Idle-dev] [ idlefork-Bugs-739582 ] "Can't locate PyShell" error message

SourceForge.net noreply@sourceforge.net
Mon, 19 May 2003 20:27:50 -0700


Bugs item #739582, was opened at 2003-05-18 17:19
Message generated for change (Comment added) made by kbk
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=109579&aid=739582&group_id=9579

Category: None
Group: None
>Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: Hernan Martinez Foffani (hfoffani)
Assigned to: Kurt B. Kaiser (kbk)
Summary: "Can't locate PyShell" error message

Initial Comment:
when running the last IDLE alpha distro it gaves the
following error message:

C:\Python23\Lib\site-packages\idleforklib>c:\python23\python
idle.py
Can't locate PyShell.py

C:\Python23\Lib\site-packages\idleforklib>

most probably means that you miss the file interrupt.pyd.
it's not bundled within the win32 alpha distro.

as a workaround copy the file attached to the DLLs
directory under your Python distribution.

(thanks to bruce for the attached copy of the library)

regards,
-Hernan


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

>Comment By: Kurt B. Kaiser (kbk)
Date: 2003-05-19 22:27

Message:
Logged In: YES 
user_id=149084

0.9a2 installs ok probably because there is no
extension dll related to interruptmodule.c.  That
was introduced 10 March.

Getting extensions to play across several Python
releases can be a challenge for developers.

GvR has indicated that the interrupt module could 
become a part of the Python library.  Then IDLE
would once again be pure Python.

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

Comment By: Hernan Martinez Foffani (hfoffani)
Date: 2003-05-19 15:40

Message:
Logged In: YES 
user_id=112690

> Man, that's a real developer trap: have a
> machine with Py2.2 and 2.3, build installer under
> 2.2, then test installation and it goes great. 

> But it fails on a system with only 2.3.
i don't get this... where is failing? i was so stranged by
what you said, that i cleaned my PC every python reference.
including the registry.
after that i installed Python 2.3b1 and idlefork-0.92a2.
it works.

> Better to have two installers than have the users
> slinging dll files around.
i meant to have only one installer that can decide at
runtime which interrupt.pyd install. i don't know how
difficult it is to program a conditional copy in that
installer. besides, it can work with several python versions
in the same PC.
also consider that if you choose for different installers
for 2.2.x and 2.3 you might need to program a condition as
well, to warn users that they are using the right
installation file.
just an idea, it's your call anyway.

> Does the new idle.py give you better diagnostics?
yep. works great!

thanks,
-H.

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

Comment By: Kurt B. Kaiser (kbk)
Date: 2003-05-19 10:54

Message:
Logged In: YES 
user_id=149084

Man, that's a real developer trap: have a
machine with Py2.2 and 2.3, build installer under
2.2, then test installation and it goes great.  But
it fails on a system with only 2.3.

Better to have two installers than have the users
slinging dll files around.

Does the new idle.py give you better diagnostics?

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

Comment By: Hernan Martinez Foffani (hfoffani)
Date: 2003-05-19 08:53

Message:
Logged In: YES 
user_id=112690

you said in the other thread:
> I can say that moving the interrupt.pyd from W2K/Py2.2
> to XP/Py2.3 doesn't work, Python2.3 can't import it. 

correct. the one that's uploaded here works on Python 2.3

> Also, the Windows installer created on Python2.2
> won't install on a Py2.3 system because "Python2.2
> is not in the registry."

idlefork-0.92a-win32 installs ok on 2.2.2 and on 2.3 provided 
you have installed both pythons from the Win installers.
actually the idlefork installer asks the user in which one does 
she want it.

> But I finally got the extension
> compiled.  Hopefully a windows installer built on Py2.3
> will work on 2.2, but maybe I need to supply both.

one installer should work but you will need to supply two 
interrupt.pyd, one for each python, or a version independent 
one, if possible (?)

-H.

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

Comment By: Kurt B. Kaiser (kbk)
Date: 2003-05-18 21:27

Message:
Logged In: YES 
user_id=149084

Note that the interrupt module is not part of the 
"alpha distro".  It was added to CVS on 10 March
after 0.9a2 was released.

I have improved the exception handling, idle,
idle.py and idle.pyw should now report exactly
why the import failed.

Also note that interrupt.pyd may not be compatible
across Python versions.  

Idle Rev 1.11 etc.

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

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=109579&aid=739582&group_id=9579