Updating your python and python libraries should fix the problem:
alvas@ubi :~$ pip freeze | grep nltk nltk==3.0.3 alvas@ubi :~$ pip freeze | grep requests requests==2.7.0 alvas@ubi :~$ python --version Python 2.7.6 alvas@ubi :~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty
From the code:
from multiprocessing import Process import nltk import time def child_fn(): print "Fetch URL" import urllib2 print urllib2.urlopen("https://www.google.com").read()[:100] print "Done" while True: child_process = Process(target=child_fn) child_process.start() child_process.join() print "Child process returned" time.sleep(1)
[output]:
Fetch URL <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="de"><head><meta content Done Child process returned Fetch URL <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="de"><head><meta content Done Child process returned Fetch URL <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="de"><head><meta content Done Child process returned
From the code:
alvas@ubi :~$ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from multiprocessing import Process >>> import requests >>> from pprint import pprint >>> Process(target=lambda: pprint( ... requests.get('https://api.github.com'))).start() >>> <Response [200]> >>> import nltk >>> Process(target=lambda: pprint( ... requests.get('https://api.github.com'))).start() >>> <Response [200]>
It should also work with python3 :
alvas@ubi :~$ python3 Python 3.4.0 (default, Jun 19 2015, 14:20:21) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from multiprocessing import Process >>> import requests >>> Process(target=lambda: print(requests.get('https://api.github.com'))).start() >>> >>> <Response [200]> >>> import nltk >>> Process(target=lambda: print(requests.get('https://api.github.com'))).start() >>> <Response [200]>
source share