0

我正在使用 Apache2 为 Django 应用程序提供服务。Django 应用程序使用带有 Numpy 的 Intel 库。但是,当 Apache 加载 Python 脚本时,它不使用 Intel 库。

os.environ这是Apache 运行脚本时我在脚本中的内容:

{'LANG': 'C', 'APACHE_LOCK_DIR': '/var/lock/apache2', 'TZ': 'America/Chicago', 'DJANGO_SETTINGS_MODULE': 'mysite.settings', 'APACHE_RUN_USER': 'my_user', 'PWD': '/', 'APACHE_PID_FILE': '/var/run/apache2.pid', 'APACHE_RUN_DIR': '/var/run/apache2', 'APACHE_LOG_DIR': '/var/log/apache2', 'APACHE_RUN_GROUP': 'my_group', 'PATH': '/usr/local/bin:/usr/bin:/bin'}

因此 Apache 以 的权限运行my_user,但my_user通常在启动时加载.bashrc会添加所有必要的环境变量,但 Apache 不会这样做。

所以因为 LD_LIBRARY_PATH 不存在,我得到导入错误。它在以普通用户和 root 身份运行时工作。

我试图添加以下内容/etc/apache2/envvars

export LD_LIBRARY_PATH="/opt/intel/composer_xe_2013.2.146/compiler/lib/intel64:/opt/intel/mic/coi/host-linux-release/lib:/opt/intel/mic/myo/lib:/opt/intel/composer_xe_2013.2.146/mpirt/lib/intel64:/opt/intel/composer_xe_2013.2.146/ipp/../compiler/lib/intel64:/opt/intel/composer_xe_2013.2.146/ipp/lib/intel64:/opt/intel/composer_xe_2013.2.146/compiler/lib/intel64:/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64:/opt/intel/composer_xe_2013.2.146/tbb/lib/intel64"

但这显然行不通。

所以我的问题是:如何为 Apache 添加 3rd 方库以在运行 Django 时使用?

4

0 回答 0