Это структура приложения.
app/
setup.py
package/
__init__.py
file.py
tests/
tests.py
...
Пытаюсь импортировать из file.py в tests.py, но выкидывает ValueError: Attempted relative import in non-package
Следовательно, мой вопрос: как импортировать в не-пакет из пакета в python?






Используйте приведенный ниже код в вашем tests.py
from ..package import file
Не работает. Та же ошибка.
Вы можете использовать import_module из importlib в вашем tests.py:
from importlib import import_module
files = import_module("package.file")
Также, насколько я видел, доступен для python 2.7.
Обновлено:
Это предполагает, что структура верхнего уровня «приложение» является пакетом. т.е. имеет файл __init__.py
Нет, это не посылка.
Или вы можете добавить путь к sys:
import sys
sys.path.append('/path/to/folder/')
import file
Добавьте пустой
conftest.pyв каталогapp:$ touch app/conftest.pyи импортируйте как обычно:from package import file,import package.file,from package.file import some_funcи т. д.