Apache没有找到Python模块

时间:2014-07-10 06:51:00

标签: python apache opencv

我正在尝试在apache中运行python脚本,如果我使用默认库,它可以工作,但是当我尝试导入已安装的模块时,它找不到它。如果我从控制台运行脚本,它会工作,但当我从Web服务器运行它时,它说它无法找到脚本。

我正在使用原始cgi进行python脚本。

这是我的httpd.conf:

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

AddHandler cgi-script .cgi .py

我导入的库是OpenCV(cv2)。

这是错误:

<type 'exceptions.ImportError'>: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/lib/libopencv_core.so.3.0) 
      args = ('/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_...required by /usr/local/lib/libopencv_core.so.3.0)',) 
      message = '/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_...required by /usr/local/lib/libopencv_core.so.3.0)'

我猜我必须以某种方式在Apache上安装C ++库,但我不知道这是怎么回事。

修改

我做了strings libstdc++.so.6 | grep GLIB并得到了这个结果:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBC_2.3
GLIBC_2.4
GLIBC_2.2.5
GLIBCXX_FORCE_NEW

如何获得3.4.9版本?

1 个答案:

答案 0 :(得分:0)

我终于找到了解决这个问题的方法,但这不是一个漂亮的方法。

我从/ usr / lib复制了libstdc ++。so.6.0.19并将其复制到/ opt / lampp / lib并将libstdc ++。so.6重新链接到新文件。它之前与libstdc ++。so.6.0.8相关联。

我没有找到任何其他“合法”的做法。