【问题标题】:environment variables in virtualenv's postactivate using mod_wsgivirtualenv 的 postactivate 中的环境变量使用 mod_wsgi
【发布时间】:2013-05-18 00:13:34
【问题描述】:

希望你一切都好。

我在 virtualenv 后激活文件中添加了几个环境变量,例如:

export DATABASE_USER="root"
export DATABASE_PASSWORD="12345678"

然后我使用 os.environ['DATABASE_USER'] 在我的 settings.py 中分配这些变量,例如

DATABASE_USER = os.environ['DATABASE_USER']

由于我的 Apache 虚拟主机文件包含

WSGIDaemonProcess mysite.local python-path=/my/python/path:/path/to/my/project/venv/lib/python2.7/site-packages
WSGIProcessGroup mysite.local
WSGIScriptAlias / /path/to/my/project/wsgi.py

据我了解,这告诉 mod_wsgi 以守护程序模式运行以及使用哪个 virtualenv。因为它知道要使用哪个 virtualenv,我会想象它会运行 postactivate,从而启用我的环境变量,但事实并非如此。

我做错了吗?欢迎任何建议或建议。

【问题讨论】:

    标签: apache environment-variables mod-wsgi django-settings


    【解决方案1】:

    使用该配置,mod_wsgi 所做的只是将 virtualenv 站点包目录添加到 sys.path 中,仅此而已。

    在使用 mod_wsgi 时,您不能将其用作设置环境变量的地方,因为 mod_wsgi 从未以任何可以配置的方式使用它。

    【讨论】:

    • 感谢您的回答,非常感谢。对于任何想要更好地理解 mod_wsgi 的开发人员,请查看 Graham Dumpleton 的 blog
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2019-02-26
    • 1970-01-01
    相关资源
    最近更新 更多