首页 > 解决方案 > Python跳过导入不可用的子模块

问题描述

我有一个在服务器上运行的 Python 模块,并且有一些特定于服务器的导入(和函数)。我想使用 django 命令在本地导入和运行它。但是,在我的本地机器上,特定于服务器的模块不可用。我目前在服务器模块中使用 try/except 块,但有没有更好的方法来完成这个?

标签: pythondjangoimport

解决方案


如果您在本地运行模块,我想您想跳过缺少模块的导入。问题是,如果您在服务器上运行模块并且发生所需的模块丢失,您不想默默地跳过导入它们。

更好的方法是配置环境并在运行时检查它是否应该导入模块。

它应该是这样的:

  1. 配置环境变量:
    export MY_RUNNING_ENV="production" // on server
    export MY_RUNNING_ENV="development" // locally
  1. 从代码中检查变量:
    import os
    env = os.getenv("MY_RUNNING_ENV")
    if env == "production"
        import "my_module"

推荐阅读