嵌入为wsgi时请求段错误,但不是独立的

时间:2015-09-22 06:59:31

标签: python apache python-requests wsgi

import sys
import os
import logging

# need to add environment to apache's path for includes
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../../")))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../")))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".")))
# likewise add cherrypy/other modules
sys.path.append(os.path.abspath("/Library/Python/2.7/site-packages/"))

import requests
response = requests.get('http://www.google.com').text

使用Python 2.7.6,请求2.7.0和MAMP 3.0下的Apache,上面的代码崩溃了。使用winpdb快速查看代码似乎表明,实际上尝试打开Internet连接是崩溃Python进程的原因。 Apache日志不是很有帮助,只说

[notice] child pid 18879 exit signal Segmentation fault (11)

虽然我的完整代码使用Cherrypy 3.8来提供框架的WSGI部分,但我觉得它与手头的问题无关。

这是请求+ apache的一些已知问题,还是其他一些问题?没有任何评论的Python崩溃使我很难想到开始解决这个问题的方法。

编辑:使用pdb,我发现python标准库中urllib.py的第1421行上的程序会出现段错误。

proxy_settings = _get_proxy_settings()

其中_get_proxy_settings来自_scproxy。

我仍然不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

这似乎是我的MacOS版本的特定于平台的错误。