如何使用相对导入机制从Python 3中的父目录导入模块?
我有一个python包的文件层次结构,“try_from_import”,如下所示:如何使用相对导入机制从Python 3中的父目录导入模块?,python,python-3.x,python-import,Python,Python 3.x,Python Import,我有一个python包的文件层次结构,“try_from_import”,如下所示: . ├── __init__.py ├── fibo.py └── test └── __init__.py 在目录“test”中,我无法导入模块fibo.py: In [1]: from .. import fibo --------------------------------------------------------------------------- ImportError
.
├── __init__.py
├── fibo.py
└── test
└── __init__.py
在目录“test”中,我无法导入模块fibo.py:
In [1]: from .. import fibo
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-94aab0998156> in <module>
----> 1 from .. import fibo
ImportError: attempted relative import with no known parent package
[1]中的:from。。进口菲波
---------------------------------------------------------------------------
ImportError回溯(最近一次呼叫最后一次)
在里面
---->1从。。进口菲波
ImportError:尝试在没有已知父包的情况下进行相对导入
如何从“test”文件夹导入模块fibo?如果有必要的话,我正在Mac OS上使用python 3.7
[更新]按照注释中的建议,“不要从包内运行python”,我尝试从名为“try_from_import”的包外运行包含“from..import fibo”的文件test/test.py。但我还是犯了一个错误:
% python try_from_import/test/test.py
Traceback (most recent call last):
File "try_from_import/test/test.py", line 1, in <module>
from .. import fibo
%python从导入/test/test.py尝试
回溯(最近一次呼叫最后一次):
文件“try\u from\u import/test/test.py”,第1行,在
从…起进口菲波
相对导入不是目录遍历机制。它们不能用于导入任何不能以绝对导入方式导入的内容。谢谢。“绝对进口”是什么意思?另外,如果我想从子目录test导入fibo,我可以做些什么呢?绝对导入是import which
或从某物中导入which
,前面是\u no\u\u dot import which。离开test
子目录。当你这样做的时候,也要离开父目录。您不应该从Python包中执行Python—它会弄乱导入路径。相对导入不是目录遍历机制。它们不能用于导入任何不能以绝对导入方式导入的内容。谢谢。“绝对进口”是什么意思?另外,如果我想从子目录test导入fibo,我可以做些什么呢?绝对导入是import which
或从某物中导入which
,前面是\u no\u\u dot import which。离开test
子目录。当你这样做的时候,也要离开父目录。您不应该从Python包中执行Python—它会弄乱导入路径。