On 11Jan2016 13:51, Rene Werner <secmailingl...@gmail.com> wrote:
right now I am working on a couple of programming-related challenges. The
challenges are sorted into problem sets, where each set contains a number
of problems.

Because a lot of these problems rely on code that is often the same, I have
put these parts into a seperate file, util.py, and I simply do

from util import *

Remark: you are better off importing only specific names:

 from util import this, that, the_other

otherwise you pollute your namespace to lots of junk. While you've only got one module your version works, but it stops being useful pretty soon after you start importing more things.

in each solution. I have my solutions organized in different folders, one
for each problem set:

set1/prob1.py
set1/prob2.py
set2/prob3.py

and so on. So far, I keep symlinking util.py in each set folder, so e.g.
set1/util.py is a symlink to ../util.py. The same goes for set2, set3 and
so on. This works, but I get the feeling that it is clumsy and could be
done better.

What is the usual way in python do realize this in a way so that I don't
have to symlink util.py for every problem set, but still have it available?

The normal way is to have your own module library and modify $PYTHONPATH to consult it. You might have a $HOME/python_modules directory with util.py inside it (or whatever other modules). Put:

 PYTHONPATH=$HOME/python_modules
 export PYTHONPATH

in your environment. Then Python will know to look in your python_modules directory for modules ahead of other places and you will not need the symlinks (which are fragile anyway).

Cheers,
Cameron Simpson <c...@zip.com.au>
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to