title: Cannot get MNIST database through Anaconda/jupyter
body: <p>Hu guys,</p>
  
  <p>I'm new to python/anaconda/jupyter/numPy, panda, etc.... so please excuse me if it's a really stupid question.
  I'm trying to obtain MNIST database by using anaconda/jupyter. But everytime I get an HTTP error 500 at the end. Is it really a server problem (as 500 would suggest) or am I doing something wrong?</p>
  
  <p>Input in jupyter:</p>
  
  <pre><code>from sklearn.datasets import fetch_mldata
  mnist = fetch_mldata('MNIST original')
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code>    ---------------------------------------------------------------------------
      HTTPError                                 Traceback (most recent call last)
      &lt;ipython-input-1-15dc285fb373&gt; in &lt;module&gt;()
            1 from sklearn.datasets import fetch_mldata
      ----&gt; 2 mnist = fetch_mldata('MNIST original')
  
      e:\ProgramData\Anaconda3\lib\site-packages\sklearn\datasets\mldata.py in fetch_mldata(dataname, target_name, data_name, transpose_data, data_home)
          140         urlname = MLDATA_BASE_URL % quote(dataname)
          141         try:
      --&gt; 142             mldata_url = urlopen(urlname)
          143         except HTTPError as e:
          144             if e.code == 404:
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
          221     else:
          222         opener = _opener
      --&gt; 223     return opener.open(url, data, timeout)
          224 
          225 def install_opener(opener):
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in open(self, fullurl, data, timeout)
          530         for processor in self.process_response.get(protocol, []):
          531             meth = getattr(processor, meth_name)
      --&gt; 532             response = meth(req, response)
          533 
          534         return response
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in http_response(self, request, response)
          640         if not (200 &lt;= code &lt; 300):
          641             response = self.parent.error(
      --&gt; 642                 'http', request, response, code, msg, hdrs)
          643 
          644         return response
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in error(self, proto, *args)
          562             http_err = 0
          563         args = (dict, proto, meth_name) + args
      --&gt; 564         result = self._call_chain(*args)
          565         if result:
          566             return result
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in _call_chain(self, chain, kind, meth_name, *args)
          502         for handler in handlers:
          503             func = getattr(handler, meth_name)
      --&gt; 504             result = func(*args)
          505             if result is not None:
          506                 return result
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in http_error_302(self, req, fp, code, msg, headers)
          754         fp.close()
          755 
      --&gt; 756         return self.parent.open(new, timeout=req.timeout)
          757 
          758     http_error_301 = http_error_303 = http_error_307 = http_error_302
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in open(self, fullurl, data, timeout)
          530         for processor in self.process_response.get(protocol, []):
          531             meth = getattr(processor, meth_name)
      --&gt; 532             response = meth(req, response)
          533 
          534         return response
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in http_response(self, request, response)
          640         if not (200 &lt;= code &lt; 300):
          641             response = self.parent.error(
      --&gt; 642                 'http', request, response, code, msg, hdrs)
          643 
          644         return response
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in error(self, proto, *args)
          568         if http_err:
          569             args = (dict, 'default', 'http_error_default') + orig_args
      --&gt; 570             return self._call_chain(*args)
          571 
          572 # XXX probably also want an abstract factory that knows when it makes
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in _call_chain(self, chain, kind, meth_name, *args)
          502         for handler in handlers:
          503             func = getattr(handler, meth_name)
      --&gt; 504             result = func(*args)
          505             if result is not None:
          506                 return result
  
      e:\ProgramData\Anaconda3\lib\urllib\request.py in http_error_default(self, req, fp, code, msg, hdrs)
          648 class HTTPDefaultErrorHandler(BaseHandler):
          649     def http_error_default(self, req, fp, code, msg, hdrs):
      --&gt; 650         raise HTTPError(req.full_url, code, msg, hdrs, fp)
          651 
          652 class HTTPRedirectHandler(BaseHandler):
  
      HTTPError: HTTP Error 500: INTERNAL SERVER ERROR
  </code></pre>