Linux Mint 19 Cinnamon, Python 3.6.6 I would have sworn that I had read, either on this list or the main Python list, that in the most recent versions of Python 3 that "__init__.py" files were no longer needed in nested project file structures. But when I attempted to run tests for the first time on my new Solitaire Scorekeeper project (Finally getting around to this!), I got:
bob@Dream-Machine1:~/Projects/solitaire_scorekeeper$ python3 -m unittest ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK So no tests were run. So it immediately occurred to me to add an empty "__init__.py" file to my "tests" subfolder and got what I was currently expecting: bob@Dream-Machine1:~/Projects/solitaire_scorekeeper$ python3 -m unittest E ====================================================================== ERROR: test_get_gamenames_bad_path (tests.tests_main.TestGameNamesMapperMethods) Test that when the method, get_gamenames(), is passed a path to a ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/bob/Projects/solitaire_scorekeeper/tests/tests_main.py", line 20, in test_get_gamenames_bad_path self.assertEqual(gamenames.gamenames(), {}) NameError: name 'self' is not defined ---------------------------------------------------------------------- Ran 1 test in 0.000s FAILED (errors=1) I was expecting this error and will shortly correct it. So my question remains, when are "__init__.py" files needed and when are they not? In case it helps, my current project structure is: ~/Projects data/ docs/ tests/ .git/ main.py .gitignore TIA! -- boB _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor