阅读()当从mod峎python apache modu调用时不工作

2024-06-13 08:15:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个简单的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的文件中):

^{pr2}$

结果是在最后一行挂起而没有给出任何错误。 从服务器调用脚本时 http://localhost.my/cgi-bin/test.py 它一直工作到最后一行,然后在最后一行之后,它甚至不打印任何内容,但是仍然没有输出错误

如果我把最后一行改成

st = obspy.read(my_filename, headonly=True)

那就行了。在

我尝试了:

  1. 正在更改对文件/文件夹的权限。脚本和文件位于my/var/www/cgi-bin目录中。为每个人分配可读的文件和目录无效
  2. 将文件移动到不同的文件夹
  3. 更改文件/dir的所有者(改为www data)

但还是不行。在

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

有什么办法解决这个问题吗?在


Tags: 模块文件import脚本web信息timemy
1条回答
网友
1楼 · 发布于 2024-06-13 08:15:18

我从obspy github issue page那里得到的最好的答案是

It seems to be related to a memory allocation issue. You could try to update to the latest ObsPy repository version as we recently made some changes to that and see if that resolves your issue. I am pretty sure that it is not a permissions related issue.

Otherwise, if you are not tied to using mod_python, you could try out one of the very many and oftentimes very good Python web frameworks. If you just need it for a simple webservice, a microframework might suit you well:

http://flask.pocoo.org/http://www.pylonsproject.org/http://www.cherrypy.org/ Of course Django might also appeal to you.

Cheers!

相关问题 更多 >