首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python子进程在发出HTTP请求时静默崩溃

Python子进程在发出HTTP请求时静默崩溃
EN

Stack Overflow用户
提问于 2015-06-10 20:13:53
回答 3查看 1.6K关注 0票数 6

在合并多处理、请求(或urllib2)和nltk时,我遇到了一个问题。下面是一个非常简单的代码:

代码语言:javascript
运行
复制
>>> from multiprocessing import Process
>>> import requests
>>> from pprint import pprint
>>> Process(target=lambda: pprint(
        requests.get('https://api.github.com'))).start()
>>> <Response [200]>  # this is the response displayed by the call to `pprint`.

关于这段代码做什么的更多细节:

  1. 导入几个必需的模块
  2. 启动子进程
  3. 从子进程向“api.github.com”发出HTTP请求
  4. 显示结果

效果很好。问题出现在导入nltk时:

代码语言:javascript
运行
复制
>>> import nltk
>>> Process(target=lambda: pprint(
        requests.get('https://api.github.com'))).start()
>>> # nothing happens!

在导入了NLTK之后,请求实际上悄悄地崩溃了线程(如果您尝试使用一个命名函数而不是lambda函数,在调用之前和之后添加几个print语句,您将看到在调用requests.get时执行就停止了),是否有人知道NLTK中有什么可以解释这种行为,以及如何克服这个问题?

下面是我使用的版本:

代码语言:javascript
运行
复制
$> python --version
Python 2.7.5
$> pip freeze | grep nltk
nltk==2.0.5
$> pip freeze | grep requests
requests==2.2.1

我在运行Mac v.10.9.5。

谢谢!

EN

Stack Overflow用户

发布于 2016-10-12 22:48:31

这个问题似乎还没有解决。https://github.com/nltk/nltk/issues/947我认为这是一个严重的问题(除非你在玩NLTK,做POCs和试用模型,而不是实际的应用程序),我正在RQ (http://python-rq.org/)中运行NLP管道。

代码语言:javascript
运行
复制
nltk==3.2.1
requests==2.9.1
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30766419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档