在 Python 中部署的模块组织

Modules organization for deploying in Python

我目前正在开发 Flask 应用程序。我想在不同的文件夹中组织我的 .py 文件。这是一个可以描述所有文件夹的三个。

Application 
    |_Interpreter
        |_
          __init__.py
          parser.py
    |_ Classes
      |_ Interfaces
          __init__.py
          Expressions.py
      |_ Operations
          __init__.py
          Arithmetic.py
          Operations.py
      |_ SymbolTable
          __init__.py
          Symbol.py
          Symbol_table.py

       __init__.py
       Driver.py

据我所知,__init__.py 使该文件夹成为一个模块,然后您应该能够从其他文件导入它们。 例如,我想从文件 Operations.py 导入 Expressions.py。我会这样做: from Classes.Interfaces.Expression import Expression 问题是我一直收到 ModuleNotFoundError: No module named 'Classes' 我尝试使用

import sys
sys.path.append('\..')

但它并不总是有效,在给出的示例中它无效。 我知道我可以在我的计算机中附加文件的路径,但我认为如果我想将应用程序部署到服务器,它会产生一些问题。哪个是导入模块的最佳选择?

您是否尝试过将 __init__.py 添加到 A​​pplication 文件夹?

那么您可能想使用 from Application.Classes.Interfaces.Expression import Expression