On Thu, Aug 28, 2014 at 6:39 PM, Cameron Simpson <c...@zip.com.au> wrote: > On 28Aug2014 22:36, Alan Gauld <alan.ga...@btinternet.com> wrote: >> >> On 28/08/14 19:03, leam hall wrote: >>> >>> python 2.4.3 on Red Hat Linux. >>> >>> I'm starting a project and want to break the scripts into "input", >>> "output", and "ddl". I'd like to have a "lib" library directory for >>> local modules. The library directory would be at the same level as the >>> others. >>> >>> How do I get the library modules? >> >> >> Add lib to the sys.path list? >> >> That may not be viable if you need it to be portable across systems, >> although using os.getcwd to locate the current folder or an >> environment variable to store the app root folder might be >> options there.
The code will be imported to other machines so whatever I'm doing must be portable. Right now my code looks like this: ### ## lib/mymodule.py #!/usr/bin/env python def howdy(): print("in mymodule") ### ## input/test_lib.py #!/usr/bin/env python from ..lib import mymodule mymodule.howdy() ### ## Directory tree: . ./input ./input/__init.py__ ./input/test_lib.py ./lib ./lib/mymodule.py ./lib/__init.py__ ./output ## In input, running test_lib.py ./test_lib.py Traceback (most recent call last): File "./test_lib.py", line 3, in <module> from ..lib import mymodule ValueError: Attempted relative import in non-package ## the __init.py__ files are empty. -- Mind on a Mission _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor