Python 如何导入项目子文件夹,使其在导入已安装的项目后可用?

Python 如何导入项目子文件夹,使其在导入已安装的项目后可用?,python,import,python-packaging,Python,Import,Python Packaging,如何导入项目子文件夹,使其在导入项目后可用 例如,如何导入project.tools的内容,以便在使用import-project导入项目后,project.tools.common.function()可用 project | |--tools | |--__init__.py | \--common.py | |--__init__.py |--core.py \--cli.py 我尝试了以下方法: 来自。在project/\uuuu init\uuuu.py和中导入工具。导入*在项目

如何导入项目子文件夹,使其在导入项目后可用

例如,如何导入
project.tools
的内容,以便在使用
import-project
导入项目后,
project.tools.common.function()
可用

project
|
|--tools
|  |--__init__.py
|  \--common.py
|
|--__init__.py
|--core.py
\--cli.py
我尝试了以下方法:


  • 来自。在
    project/\uuuu init\uuuu.py
    中导入工具。导入*
    项目/tools/\uu init.py
    中,导致:
    导入错误:无法导入名称“tools”

  • from.tools在
    project/\uuuu init\uuuuu.py
    from中导入*
    。导入*
    project/tools/\uu init.py
    中,这导致:
    modulenofounderror:没有名为“project.tools”的模块

  • from.tools在
    project/\uuuu init\uuuu.py
    from中导入通用的
    。导入*
    project/tools/\uu init.py
    中,这导致:
    modulenofounderror:没有名为“project.tools”的模块

  • 这会解决你的问题

    import tools.common as COMMON
    COMMON.function()
    

    直接在.py脚本中使用导入工具。 然后在函数调用中使用
    tools.common.function()

    在文件夹中放置init.py时,该文件夹将变为可调用。
    因此,您可以将该文件夹及其脚本直接导入到脚本中

    结果:
    ModuleNotFoundError:没有名为“tools”的模块
    您将我的代码放在哪个文件中?这应该放在主脚本(core或cli.py)
    project/\uuuu init\uuuu.py
    这应该放在主脚本(core或cli.py)'init.py'文件应该为空
    AttributeError:module'project'没有属性'tools'
    <代码>项目
    是一个可安装的项目,而不是脚本/文件夹可能与否重复这与可安装的项目有关(可以使用
    导入项目