为已存在的 dash 子应用程序导入包

Import packages for dash sub-app already existing

我创建了一个 Dash 应用程序,它 运行 本身就很好(没有导入问题)。其他用户还创建了应用程序,我们现在希望将其合并为一个应用程序,并使用链接每个应用程序的通用索引。我找不到加载我创建的包的解决方案。我想 运行 应用程序本身(调试目的)和通过通用索引(生产目的)。

这是我的应用程序的结构(类似于 here on the Dash documentation 的详细内容):

+ app.py --> creates the dash server
+ layout.py --> Defines my page layout
+ callbacks.py --> I imported packages here (import package as pk) that will fail when run via the general index
+ package --> the packages I created

合并项目后,我的结构如下所示(通过 git submodule add):

+ app.py
+ index.py --> will call the layouts
+ initial app folder (git submodule from structure above)
  + __init__.py
  + the files above

当我启动服务器时,收到错误消息 pk.something error, pk is not defined。我找不到使应用程序 运行 独立并在一般索引中的解决方案。我试图移动导入(在 app.py 或新的 __init__.py 中)但没有任何效果。 我的下一次尝试是将包移动到一个新的子文件夹中。有谁知道这是否有效?

我通过 app.py 文件让它工作。我不知道这是否是一个合适的解决方案,我觉得我可以以一种体面的方式扩展我的应用程序。我将我的脚本移动到带有 __init__.py

的文件夹中

app.py中,我添加了:

from package import my_package

callbacks.py中,我更改了导入;

from app import my_package as pk

欢迎提出改进意见。我想知道我离最佳解决方案还有多远。