[Eric] Re: Question about imported modules and paths in Eric4

Serge Montagnac obs.psr at wanadoo.fr
Tue Dec 23 10:20:17 GMT 2008


Robert Cheatham wrote:
> The Python versions are the same.  I think I'll need to consult some 
> of the wiser people around here when they get back from holiday.  I 
> was hoping it was something simple but there are probably some strange 
> things about our environment that I don't understand.  I'll post again 
> once I get it figured out.
>
> Thanks to everyone for your helpful responses!
>
>     Пожалуйста
>
> I can't compete with that. :)
>
> On Tue, Dec 23, 2008 at 8:46 AM, Sjujsckij Nickolaj <sterkrig at home.no 
> <mailto:sterkrig at home.no>> wrote:
>
>      Also see if Python shell and eric run the same Python (not 2.4
>     and 2.5, for example), as you use quite old system.
>     And try to work out, what's the difference between PYTHONPATHs and
>     if you're lucky eliminate the reason.
>     Dou you have Eric (and dependencies) properly installed, by the
>     way? You know, .deb's from repositories, apt-get install and so on.
>     For here Eric picks up variables all right too.
>
>         Tusen takk.
>
>      Пожалуйста (-:E
>
>
>
>
>         Ha ha ha!  My fault.  It's actually Kubuntu 7.*, running KDE
>         3.5.6.
>         Thank you for your response.
>
>         Yes, when running Python from the shell, the 'sys.path'
>         variable has
>         included the information in the 'PYTHONPATH' variable from the
>         shell.
>         Additionally, running the commands "os.environ['PYTHONPATH']" and
>         "os.system('echo $PYTHONPATH')" outputs the correct 'PYTHONPATH'
>         information.
>
>         However, it appears that Eric4 creates its own environment.  The
>         'sys.path' variable does not include the 'PYTHONPATH'
>         information from
>         the shell in which Eric4 was started.  Also, while the
>         "os.environ['PATH']" and "os.system( 'echo $PATH')" commands work
>         properly when run from Eric4, their values are different from the
>         'PATH' variable in the original shell.  The
>         "os.environ['PYTHONPATH']"
>         and "os.system('echo $PYTHONPATH')" commands fail, indicating
>         that the
>         environment created by Eric4 is not the same as in the
>         original shell.
>
>         The above may be intentional, however I would like to be able
>         to do
>         one of the following:
>
>         1) Get Eric4 to inherit the PYTHONPATH information from the
>         shell in
>         which it is launched
>
>         2) Copy-paste the information from the PYTHONPATH variable into a
>         search path in the Eric4 project.
>
>         3) Run a short script at the beginning of my programs
>         something to the
>         effect of this:
>                newPaths = os.system( "Get PYTHONPATH info from
>         original shell" )
>                sys.path.append( newPaths )
>
>         Options 1) and 3) are preferable so that all the environment
>         info will
>         be picked up automatically.
>
>         If neither option is possible, I can manually insert the
>         search paths
>         using multiple "sys.path.append()" commands, but this will be a
>         maintenance headache and will be tougher to convince others to
>         move
>         away from print statement debugging.  I am, of course, open to
>         other/better options.
>
>         Tusen takk.
>         --Robert
>
>         On Sun, Dec 21, 2008 at 10:38 AM, Sjujsckij Nickolaj
>         <sterkrig at home.no <mailto:sterkrig at home.no>> wrote:
>
>
>              Hello
>             I think you should learn about modules and their paths in
>             Python. For example, I don't know what is module gto,
>             probably it's your own one, and you rely on current dir
>             importing it... So read about PYTHONPATH and inspect its
>             value in your user shell, python and Eric shells
>             (sys.path), and remember about importing from current
>             directory.
>
>                 Using Eric4 v4.2.3 (r2620) on KDE 7.
>
>
>              Whoops! Could you lend me your time machine? (-:E
>
>                 I still haven't been able to figure this out.
>
>                 More specifics, I'm importing a module named "gto" as
>                 such:
>
>                     import gto
>
>
>                 This works fine if I run my python script from the
>                 command line.  When
>                 I debug the script in Eric4 I get the following error
>
>                     The debugged program raised the exception ImportError
>                     "No module named gto"
>
>
>                 So I'm wondering how I can get Eric4 to import the
>                 environment from
>                 the shell.  Or at least how I can specify the paths in
>                 which Eric4
>                 will look for modules.
>
>                 Using Eric4 v4.2.3 (r2620) on KDE 7.
>
>                 Thanks,
>                 Robert
>
>                 On Tue, Dec 16, 2008 at 4:18 PM, Robert Cheatham
>                 <robertcheatham at gmail.com
>                 <mailto:robertcheatham at gmail.com>> wrote:
>
>
>                     I'm trying to use Eric4 for python debugging in Linux
>
>                     I'm having a problem with imported modules.  These
>                     modules are found somewhere in our system's path
>                     variables (not sure where).  The project I'm
>                     trying to debug works fine when run from the
>                     command line (and when debugged under pdb), but
>                     Eric4 apparently doesn't pick up the environment
>                     from the shell in which it was started, so an
>                     error is thrown when attempting to import certain
>                     modules.
>
>                     I'm used to working on Visual Studio, so my first
>                     instinct was to just copy the information from the
>                     path variables into the the path variable in the
>                     Eric4 project.  I can't figure out how to do this.
>                      Is there a way to get Eric4 to either pick up the
>                     environment variables from the shell or to
>                     transfer the path information so that Eric4 can
>                     use it?
>
>                     Using Eric4 v4.2.3 (r2620) on KDE 7.
>
>
>                     Thank you.
>
>
>                 _______________________________________________
>                 Eric mailing list
>                 Eric at riverbankcomputing.com
>                 <mailto:Eric at riverbankcomputing.com>
>                 http://www.riverbankcomputing.com/mailman/listinfo/eric
>
>
>
>
>     -- 
>     Trollen pynkere vrekukka!
>      Ŝtérkrìg
>
>     _______________________________________________
>     Eric mailing list
>     Eric at riverbankcomputing.com <mailto:Eric at riverbankcomputing.com>
>     http://www.riverbankcomputing.com/mailman/listinfo/eric
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Eric mailing list
> Eric at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/eric
>   
Hi Robert,

Sorry to the list for my error on HTML precedent post :-(((

I discussed a bit with Detlev Offenbach concerning modules inclusion in 
Eric4, due to a problem in
external classes declaration with Matplotlib ....

I think that we have a clear problem, simple to describe :

In Eric4, I declare :
from mplwidget import MyMplCanvas, Toolbar
or,
from mplwidget import *

Eric4 finds MyMplCanvas but complains that it "can't import name Toolbar ".

If I write  the class Toolbar()  in the main module .... it works, 
Toolbar class is found, for sure ;-)

If I launch the program from command line : python  the_program.py
....it works perfectly with either the first or second import declaration.


I conclude that Eric4 as a problem importing several classes declared in 
an external module.

What do think about that, .... I did not experienced any problem with 
PYTHONPATH, but I am using
the traditional /usr/lib/python tree ....

My config is Mandriva-2008-1:
Python 2.5.2
 >From RiverBanks :
Qt 4.3.4
sip 4.7.7
QScintilla 2.3
eric4  4.2.4a(r2717)

Best regards,
Serge.

-- 

/* If Linux doesn't have the solution, you have the wrong problem */
--------------------------
     Serge Montagnac
  http://www.obs-psr.com
    obs-psr at orange.fr
--------------------------



More information about the Eric mailing list