如何在我的 wsgi 文件中调用另一个 python 文件中的函数?

How to call a function in another python file in my wsgi file?

我将 mod_wsgi 与金字塔一起使用,并且每个 environment/server 都有不同的 wsgi 文件,例如金字塔-test.wsgi 和金字塔-prod.wsgi

这些文件包含用于设置因环境而异的环境变量的代码。示例:

os.environ['SQLALCHEMY_URL'] = 'TODO'

我尝试将此代码移动到一个名为 settings.py 的文件中,该文件将在 .wsgi 文件中调用。这些设置文件将保存在 .wsgi 文件旁边,或者最好保存在安全的子目录中,这样其他人无法读取设置(如数据库密码),但可以部署新版本并覆盖 .wsgi 文件,这样该应用程序由 Apache 自动重新加载。

如何从 .wsgi 文件中调用 settings.py 文件中的 python 代码? 当我尝试这样做时,它找不到它,因为它不是应用程序模块的一部分。

假设您正在为每个应用程序实例使用推荐的单独 mod_wsgi 守护进程组,为每个应用程序实例设置 WSGIDaemonProcess 指令的 python-path 选项以包含您的实例特定的目录设置模块是。然后正常导入应该可以工作。