1
My Python version 3.5.Python и импорт из другого пакета
У меня есть проект со структурой, как это:
-- test
---- __init__.py
---- one
------ __init__.py
------ first.py
---- two
------ __init__.py
------ second.py
Содержание first.py
файла:
class FirstClass(object):
def hello(self):
return 'hello'
Содержание second.py
файла:
def main():
first = FirstClass()
print(first.hello())
if __name__ == '__main__':
main()
Проблема заключается в том, что я могу 't импорт FirstClass
в second.py
, я попробовал:
from test.one.first import FirstClass
Result:
Traceback (most recent call last):
File "second.py", line 3, in <module>
from test.one.first import FirstClass
ModuleNotFoundError: No module named 'test.one'
Кроме того, я попробовал этот подход:
from ..one.first import FirstClass
Result:
Traceback (most recent call last):
File "second.py", line 3, in <module>
from ..one.first import FirstClass
ValueError: attempted relative import beyond top-level package
Итак, мой вопрос: как сделать, чтобы импортировать в подобных ситуациях?
см: http://stackoverflow.com/questions/8706309/how-to-reference-to -the-top-level-module-in-python-inside-a-package – putonspectacles
Другой связанный с этим вопрос: http://stackoverflow.com/questions/16981921/relative-imports-in-python-3 – Leon