Я рассмотрел the Python 2.7.5 documentation. У меня проблемы с моим реальным проектом, но здесь был создан небольшой тестовый проект, чтобы кратко воспроизвести проблему. Представьте себе пакет со следующей планировкой хранящегося в ~/развития/TestСмущает насчет импорта питона
Вот структура:
Test/
__init__.py
foo.py
sub/
__init__.py
test_foo.py
И код (__init__.py
файлы Empy):
foo.py
def bar():
print("hello world")
test_foo.py
import Test.foo
# also tried from Test import foo
def main():
foo.bar()
if __name__ == "__main__":
main()
При попытке запустить test_foo.py
с терминала (т. python test_foo.py
) Я получаю:
Traceback (most recent call last):
File "test_foo.py", line 1, in <module>
import Test.foo
ImportError: No module named Test.foo
Я пытаюсь импортировать главный файл в пакете (foo.py) из тестового файла в модуле к югу (в моем реальном проекте модуль саба блок тестовый код). Как ни странно, используя редактор Sublime text 2 и плагин python test runner, я могу выполнить отдельные тесты просто отлично, но я не могу создать тестовый файл. Это дает мне ошибку выше.
В вашем сообщении об ошибке: 'import foo', в вашем файловом коде указано' import test.foo' –
@kroolik. Это была ошибка, следует сказать: Test.foo, я исправил его. – Matt
Вам не следует создавать и запускать скрипты, размещенные внутри вашего модуля. Скрипты должны всегда находиться вне модуля. –