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。
我仍然不知道如何解决这个问题。
答案 0 :(得分:0)
这似乎是我的MacOS版本的特定于平台的错误。