Чукча - не читатель, чукча - писатель.
Вам уже насоветовали несколько разных вариантов - но вы упорно выбираете самый проблемный.
В то время как стоило бы сделать один раз setup.py и закончить разговор.
Кажется, корень кроется в том, что вы не различаете файлы и модули. Да, зачастую модуль лежит в файловой системе (не всегда).
Но у них разная система именования. Возьмем ваш пример:
myFunc2\__init__.py
myFunc2\testmod2.py
prj\myFunc1\__init__.py
prj\myFunc1\testmod1.py
prj\myFunc1\testmod1.pyc
prj\__init__.py
prj\prj0.py
__init__.py
Каждый .py файл в нем - модуль? Или не каждый? Какие имена у модулей (значения атрибута __name__)? Особенно курьезно выглядит последний __init__.py …
Просто пропишите имена, а потом можно перейти к тому, чтобы “элементарно импортировать файлы уровнем выше”.