【问题标题】:Using Mod_wsgi with Anaconda python library将 Mod_wsgi 与 Anaconda python 库一起使用
【发布时间】:2016-10-20 10:11:40
【问题描述】:

我已经安装了 mod_wsgi --with-python 选项。 当我在 apache 上运行烧瓶应用程序时,它说“没有模块名称烧瓶” Flask 已经安装在 anaconda 中。 如何强制 mod_wsgi 获取 anaconda 库。

【问题讨论】:

  • 他们是系统Python版本,和Anaconda版本一样吗?例如。如果 Anaconda Python 是 2.7,是否有 2.7 版的普通系统 Python。在 Anaconda Python 版本中,import sys; sys.prefix 得到了什么? Flask 是安装在为 Anaconda Python 创建的虚拟环境中,还是安装在主要的 Anaconda 安装中?
  • 我在 httpd.conf 中添加了这个 WSGIPythonHome /home/jdnco/anaconda2 它显示错误“No module site”,如果我删除这个路径它显示“No module name flask”。通过 ldd / etc/httpd/modules/mod_wsgi.so 它显示 linux-vdso.so.1 => (0x00007fff219fa000) libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fb7115ba000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb71139e000)

标签: python apache flask anaconda mod-wsgi


【解决方案1】:

您可能需要执行以下操作。

当您从源代码构建 mod_wsgi 时,将 LD_RUN_PATH 环境变量设置为 /home/jdnco/anaconda2/lib。因此返回并在 mod_wsgi 源代码中执行以下操作:

make distclean
./configure --with-python=/home/jdnco/anaconda2/bin/python
LD_RUN_PATH=/home/jdnco/anaconda2/lib make
sudo make install

这将确保它与正确的库链接。请再次与ldd 联系。

然后在Apache配置文件中也设置:

WSGIPythonHome /home/jdnco/anaconda2

在与系统目录中的版本匹配的非标准位置使用 Python 安装时,这两个都是必需的。

【讨论】:

  • 感谢您的回复,我会试试这个并回复您。
  • 好的,我已经完成了上述步骤,现在做 ldd 它显示 /home/user/anaconda2 路径。所以到目前为止一切都很好,但是现在当我访问应用程序时,它显示“没有模块名称站点" 错误。对此有任何 cmets 吗?
  • 你的意思是ldd 显示它在/home/jdnco/anaconda2/lib 中找到libpython2.7.so?这是什么版本的 Anaconda Python?多年来,Anaconda Python 引起了各种各样的问题。不久前在 mod_wsgi 中还有另一个与之相关的修复,因此请确保您使用的是最新的 mod_wsgi 源代码。
  • ldd /etc/httpd/modules/mod_wsgi.so linux-vdso.so.1 => (0x00007ffc0592b000) libpython2.7.so.1.0 => /home/jdnco/anaconda2/lib/libpython2 .7.so.1.0 (0x00007f008443f000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0084211000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f008400d000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f0083e0a000) libm.so.6 => /lib64/libm.so.6 (0x00007f0083b07000) libc.so.6 => /lib64/libc.so.6 (0x00007f0083745000) / lib64/ld-linux-x86-64.so.2 (0x00007f0084a73000)
  • python Python 2.7.12 |Anaconda 4.1.1(64 位)| (默认,2016 年 7 月 2 日,17:42:40)[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] 在 linux2 上键入“帮助”、“版权”、“信用”或“许可证”以获取更多信息. Anaconda 由 Continuum Analytics 提供给您。请查看:continuum.io/thanksanaconda.org >>> import sys >>> sys.prefix '/home/jdnco/anaconda2' Mod_wsgi 版本 -- mod-4.5.7。当我没有在 httpd.conf 中设置 WSGIPythonHome 时,它​​说“没有模块名称烧瓶”,但是烧瓶已经安装在 anaconda 中,当我输入 WSGIPythonHome 时,它​​说“没有模块名称站点”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 2014-10-17
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 2016-01-21
  • 2011-11-20
相关资源
最近更新 更多