Python import search path!

S

SMALLp

Hy!
I'm new in Linux, and i feel little less newer in python.

I need advice and help. I'm making an application witch purpose is
irrelevant. It has a lot of code for now and I've only made interface.
So I've tried to split code into separate files and in windows as I
remember worked file when i wrote eg. import myFile but now in Ubuntu
it says Module not found. (I'm using Ubuntu and I've installed python
2.5 and wxPython 2.8.4, and I'm using GedIt as my favorite text editor).
The question is how to make this work (files are in the same folder)

Second question is about import wx. When i separate code into files i
have to write import wx into every file because all of them contains
some part of the interface. Does that make my program bigger than
putting everything into one file and use only one import.

Thanks in advance.
 
K

kyosohma

Hy!
I'm new in Linux, and i feel little less newer in python.

I need advice and help. I'm making an application witch purpose is
irrelevant. It has a lot of code for now and I've only made interface.
So I've tried to split code into separate files and in windows as I
remember worked file when i wrote eg. import myFile but now in Ubuntu
it says Module not found. (I'm using Ubuntu and I've installed python
2.5 and wxPython 2.8.4, and I'm using GedIt as my favorite text editor).
The question is how to make this work (files are in the same folder)

Not sure what is going on here from this description. You may need to
use the sys module and add the path to your module temporarily.

import sys
sys.path.append("//path/to/myFile")

Second question is about import wx. When i separate code into files i
have to write import wx into every file because all of them contains
some part of the interface. Does that make my program bigger than
putting everything into one file and use only one import.

Thanks in advance.

No, importing wx in multiple files does not make it bigger. In fact,
as I understand it, Python will only import a module if it's not
already in the namespace. So if you import wx in your main module and
then import it again in some sub-module of yours, Python won't
actually import wx the second time, but will just use the one that's
in the namespace already.

See this thread for a more coherent explanation:

http://mail.python.org/pipermail/python-list/2004-November/293861.html

Mike
 
S

SMALLp

Not sure what is going on here from this description. You may need to
use the sys module and add the path to your module temporarily.

import sys
sys.path.append("//path/to/myFile")


I managed to make simple thing complicated. So what i was trying to do
is to write part of my program in a separate file and than use "import
myFile as my" to use classes written in that file.

Thanks for the answer Mike!
 
B

Bjoern Schliessmann

SMALLp said:
remember worked file when i wrote eg. import myFile but now in
Ubuntu it says Module not found. (I'm using Ubuntu and I've
installed python 2.5 and wxPython 2.8.4, and I'm using GedIt as my
favorite text editor). The question is how to make this work
(files are in the same folder)

Please provide the exact error message, the part of the source code
it refers to, and the command line you called the file by.
Second question is about import wx. When i separate code into
files i have to write import wx into every file because all of
them contains some part of the interface. Does that make my
program bigger than putting everything into one file and use only
one import.

Yes, the program gets a few bytes (11 for "import wx\r\n") bigger.
No, it is no performance problem.

Regards,


Björn
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,049
Latest member
Allen00Reed

Latest Threads

Top