python - apache+wsgi网站如何设置LD_LIBRARY_PATH

标签 python apache environment-variables mod-wsgi

我正在尝试在基于 wsgi(apache + flask)的网站中使用 python 库。

在独立命令脚本中使用库时,我必须将库路径添加到 LD_LIBRARY_PATH

所以这适用于独立脚本:

# export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
# python script.py

现在,当我尝试通过 Apache+wsgi 使用这个 python 库时,我需要将相同的路径传递给 apache worker。我怎样才能做到这一点?

最佳答案

您编译安装的 Python 模块扩展是否需要该库?如果是,请将 LD_RUN_PATH 环境变量设置为编译和安装该 Python 模块时库所在的目录。这样,该位置将嵌入到 Python 模块扩展本身中,并且您在运行时不需要 LD_LIBRARY_PATH

使用环境变量实现此目的的唯一其他方法是在 Apache 的启动脚本中设置 LD_LIBRARY_PATH,以便在 Apache 启动时根据需要进行设置。这意味着摆弄系统启动脚本并不理想或不实用。

最后一种可能可行但不是很好的想法甚至可能行不通的方法是使用:

LoadFile "/usr/local/lib/libmylib.so"

在 Apache 配置中。这将在启动时强制将特定库链接到 Apache,但根据库的使用方式,这可能不起作用。

关于python - apache+wsgi网站如何设置LD_LIBRARY_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690980/

相关文章:

python - 为什么我在用 python 抓取时无法获取字符串?

python - 在 python 列表中计算日期的最佳/最快方法

apache - Nutch 2.1 urls 注入(inject)需要永远

php - php pdo 内存不足

Python 请求 : having a space in header for posting

linux - 如何从 bash 脚本修改/etc/environment

Azure 应用服务 - ASPNETCORE_ENVIRONMENT - 多值问题

python - 重叠坐标的 folium 弹出文本问题(更新 :HTML source code)

python - Apache2.2:ImportError: 没有名为 site 的模块

build - 如何使CMake使用环境变量LD_LIBRARY_PATH和C_INCLUDE_DIRS