On 2019-05-18 05:45:23 -0700, Rich Shepard wrote: > On Sat, 18 May 2019, dieter wrote: > > > > sys.path > ['', '/home/rshepard/development/bustrac', '/usr/lib/python37.zip', > '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', > '/usr/lib/python3.7/site-packages'] > > All directories are present, and the one for the current project is the > first one searched. [...] > I understand this. Within ~/development/bustrac as the CWD when I invoke the > test application with the first line: > > from classes import model as m > > I still see this result: > > $ python3 test_act_de.py Traceback (most recent call last): > File "test_act_de.py", line 1, in <module> > from classes import model as m > ModuleNotFoundError: No module named 'classes' > > 'classes' is a package (a subdirectory) containing an empty __init__.py, not > a module. 'classes' conains a single module, model.py.
This works for me: hrunkner:~ 18:14 :-) 1141% cd tmp hrunkner:~/tmp 18:14 :-) 1142% mkdir bustrac hrunkner:~/tmp 18:14 :-) 1143% cd bustrac hrunkner:~/tmp/bustrac 18:14 :-) 1144% mkdir classes hrunkner:~/tmp/bustrac 18:14 :-) 1145% touch classes/__init__.py hrunkner:~/tmp/bustrac 18:14 :-) 1146% touch classes/model.py hrunkner:~/tmp/bustrac 18:14 :-) 1147% python3 Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from classes import model >>> "" is in sys.path, so "classes" and classes.model are found. Now lets go to a different subdirectory: hrunkner:~/tmp/bustrac 18:15 :-) 1148% mkdir scripts hrunkner:~/tmp/bustrac 18:15 :-) 1149% cd scripts hrunkner:~/tmp/bustrac/scripts 18:15 :-) 1150% python3 Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from classes import model Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named 'classes' >>> This doesn't work, since there is no classes/model.py in "", only in "..". But if I add a PYTHONPATH, it works again: hrunkner:~/tmp/bustrac/scripts 18:15 :-) 1151% export PYTHONPATH=~/tmp/bustrac hrunkner:~/tmp/bustrac/scripts 18:15 :-) 1152% python3 Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from classes import model >>> -- _ | Peter J. Holzer | we build much bigger, better disasters now |_|_) | | because we have much more sophisticated | | | h...@hjp.at | management tools. __/ | http://www.hjp.at/ | -- Ross Anderson <https://www.edge.org/>
signature.asc
Description: PGP signature
-- https://mail.python.org/mailman/listinfo/python-list