导入自定义模块

时间:2020-07-23 21:58:42

标签: python python-import

我正在尝试组织我的项目,以下是项目的层次结构:

-Project
   --core
     |--__init__.py
     |--module_1.py
     |--module_2.py
   --env1
     |--env1.py
   --env2
     |--env2.py

该项目具有多个环境,并且所有人都共享核心目录中的模块。我正在尝试从function1module1中的env1.py导入env2.py

from core.module_1 import function1

我遇到以下错误:

ModuleNotFoundError: No module named 'core'

我也尝试设置核心目录的路径,但是没有运气。如果模块与调用它的脚本位于同一目录中,或者如果调用该模块的脚本位于主目录中(在我的情况下为import),则Project起作用。如何将模块从core目录导入到环境目录?

1 个答案:

答案 0 :(得分:2)

上个星期,您遇到了完全相同的问题,一直困扰着我。这是我的最终版本。如果这以某种方式创建了时间机器,那么请在上周将该功能发送给我,是吗?

def load_function(filepath,func_name) -> "function":
    """Load any function from a given path to a .py script."""
    return getattr(__import__(filepath,fromlist=[func_name]),func_name)