Python 导入位于同级目录中的包的最佳方法

Python 导入位于同级目录中的包的最佳方法,python,python-3.x,packages,python-import,Python,Python 3.x,Packages,Python Import,我的文件结构是: top\ my_package\ __init__.py functions.py scripts\ test.py main.py 我想在test.py中导入functions.py的内容 在main.py中,我可以使用从我的包导入functions.py。functions import…。 我希望能够在test.py中导入functions.py,类似于从..my_package.functions import…导

我的文件结构是:

top\
   my_package\
      __init__.py
      functions.py
   scripts\
      test.py
   main.py
我想在
test.py
中导入
functions.py
的内容

main.py
中,我可以使用
从我的包导入
functions.py
。functions import…
。 我希望能够在
test.py
中导入
functions.py
,类似于从..my_package.functions import…导入

SystemError: Parent module '' not loaded, cannot perform relative import
top
目录不应该是一个包,因为我希望能够在不运行包中脚本的情况下运行
main.py

test.py
导入
functions.py
的正确/Python方式是什么


我可以将
my_package
添加到PYTHONPATH,但我的代码移植性较差。我使用的是Python3.5,这是因为就Python而言,
my_package
scripts
目录彼此不相关。 要解决您的问题,您可以将
\uuuu init\uuuu.py
添加到
top
目录中,然后尝试使用

from ..function import *

这是因为就python而言,
my_package
scripts
目录彼此不相关。 要解决您的问题,您可以将
\uuuu init\uuuu.py
添加到
top
目录中,然后尝试使用

from ..function import *

如果我在我的
top
目录中添加一个
\uuuu init\uuuuuuuuuuuuupy
文件,它将成为一个包,运行
main.py
将运行一个不推荐使用的包中的脚本。我对我的问题进行了编辑,精确地说,
top
不应该是一个包。如果我在我的
top
目录中添加一个
\uuuuu init\uuuuu.py
文件,它将成为一个包,运行
main.py
将在一个不推荐的包中运行脚本。我对我的问题进行了编辑,明确指出
top
不应该是一个包。