Я просмотрел этот сайт сверху вниз, но не нашел ни одного способа добиться того, что я хочу, в Python3x. Это простое игрушечное приложение, поэтому я решил, что могу написать несколько простых тестовых случаев в утверждениях и положить этому конец. Он генерирует отчеты и тому подобное, поэтому я хотел бы убедиться, что мой код не делает ничего шаткого при изменениях.
Моя текущая структура каталогов: (включены только соответствующие части)
project
-model
__init__.py
my_file.py
-test
my_file_test.py
У меня чертовски много времени, чтобы my_file_test.py импортировал my_file.py.
Как я уже сказал. Я искал этот сайт сверху вниз, и ни одно решение не сработало. Моя версия Python 3.2.3 работает на Fedora 17.
Предыдущие попытки: https://stackoverflow.com/questions/4655526/how-to-accomplish-this-relative-import-in-python Импорт модулей из родительская папка Может ли кто-нибудь объяснить относительный импорт python? Как выполнить относительный импорт в python
Практически при каждой попытке я получаю сообщение об ошибке:
ImportError: Нет модуля с именем * ИЛИ ValueError: Попытка относительного импорта в не-пакете
Что здесь происходит. Я пробовал каждый принятый ответ на SO, а также во всех сетях. Не делая здесь ничего особенного, но как программист .NET/Java/Ruby, это оказывается абсолютным определением интуитивности.
РЕДАКТИРОВАТЬ: Если это имеет значение, я попытался загрузить класс, который я пытаюсь импортировать в REPL, и я получаю следующее:
>>> import datafileclass
>>> datafileclass.methods
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
>>> x = datafileclass('sample_data/sample_input.csv')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
Если это имеет значение... Я знаю, что функциональность в классе работает, но я не могу импортировать ее, что в настоящее время вызывает невозможность тестирования. В будущем, безусловно, вызовет проблемы интеграции. (имена изменены, чтобы защитить невиновных) получение в течение пары недель желаемой функциональности для этой итерации библиотеки... любая помощь может быть полезна. Я бы сделал это на Ruby, но клиент хочет использовать Python в качестве учебного опыта.