On 2016-01-11 04:51, Rene Werner wrote:
Hello list,

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 *

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?

Thank you very much for your time.
Kind regards

M.M.
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

I used to do it with symlinks as well but what I do now I believe
is the preferred way.

I have all my Python work under a ~/Py directory (in my /home/alex folder) For each project I create a subfolder there: ~/Py/CurrentProject, or ~/Py/CP for short. Under ~/Py/CP you can put all your other code organized in what ever way suits you best. The CP directory and every directory under it should contain an empty file called __init__.py.
For example:
    ~/Py/CP
        __init__.py
        src
            __init__.py
            main.py
        tests
            __init__.py
            test.py

test.py can import main.py with the following import statement:
import CP.src.main as main
as long as ~/Py is in your PYTHONPATH environment variable.
This can be set dynamically in your code but I do it by having the following in my ~/.bashrc file:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/home/alex/Py"

I'm submitting this not because I am an expert, but because this is the way I've learned to do it from postings on this list (for which I would like again to express gratitude) and would be interested in hearing if I got it right. So in a sense, it is a question rather than an answer.
ak
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to