【问题标题】:Obspy.read() not working when called from mod_python apache module从 mod_python apache 模块调用 Obspy.read() 时不起作用
【发布时间】:2013-05-17 12:23:58
【问题描述】:

我正在尝试制作一个简单的 Web 服务,它可以读取 MSEED 文件并输出一些相关信息。

最合理的选择似乎是使用python 和优秀的obspy 模块(用于地震学/地震观测站的Python 工具箱),该模块在地震学界被广泛使用。

我用这个简单的 python 代码成功地读取了一个文件并从中获取了一些信息:

import obspy
import numpy
import sys


my_filename = "SOME FILE"
my_start_time =  "2012-01-01T08:00:00"
my_end_time =  "2012-01-01T09:00:00"

dt = obspy.UTCDateTime(my_start_time)
et = obspy.UTCDateTime(my_end_time)
st = obspy.read(my_filename, starttime=dt, endtime=et)
....then do something....

现在,如果我想将它实现为 Web 服务,在几个不同的选择中,我可以在 Apache 上安装 mod_python,并以不同的方式调用此类脚本。

我这样做(脚本在一个名为test.py的文件中):

from mod_python import util
import obspy
import numpy
import sys

def index(req):
    [...]
    startdate="2012-01-01T08:00:01"
    enddate="2012-01-01T08:10:00"
    myfilename=" SOME FILE"
    dt = obspy.UTCDateTime(startdate)
    et = obspy.UTCDateTime(enddate)

    ##### read file
    st = obspy.read(my_filename, starttime=dt, endtime=et) ******
    [...]

发生的情况是它在最后一行挂起而没有给出任何错误。 从我的服务器调用脚本时 http://localhost.my/cgi-bin/test.py 它一直运行良好,直到最后一行,然后它甚至不打印任何东西,但再次没有输出错误

如果我把最后一行改成

,那就更奇怪了
st = obspy.read(my_filename, headonly=True)

然后就可以了。

我尝试了什么:

  1. 更改文件/文件夹的权限。脚本和文件位于我的 /var/www/cgi-bin 目录中。将每个人都可读分配给文件和目录不起作用
  2. 将文件移动到不同的文件夹
  3. 更改文件/目录的所有者(到 www-data)

但还是不行。

我不明白这是obspy模块的问题还是apache mod_python的一些限制。

知道如何解决这个问题吗?

【问题讨论】:

    标签: python apache web-services obspy


    【解决方案1】:

    我从 obspy github issue page 收到的最佳答案如下

    这似乎与内存分配问题有关。你可以尝试 更新到最新的 ObsPy 存储库版本,因为我们最近做了一些 对此进行更改,看看是否可以解决您的问题。我很确定 这不是权限相关的问题。

    否则,如果你不习惯使用 mod_python,你可以试试 非常多且通常非常好的 Python Web 框架之一。 如果你只是需要它来做一个简单的 web 服务,一个微框架可能 很适合你:

    http://flask.pocoo.org/http://www.pylonsproject.org/ http://www.cherrypy.org/ 当然 Django 也可能会吸引你。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      相关资源
      最近更新 更多