Repository: spyder-ide/spyder

Issue:
"unable to connect to the internet" nag screen in 3.0.0b1
When loading the current `3.0.0b1` release, I get an "unable to connect to the internet" nag screen as below even though the machine has an active web connection:
![spyder3 0 0b1-interneterror](https://cloud.githubusercontent.com/assets/3229632/9800359/65226252-57c1-11e5-9411-93965bad438b.jpg)

For completeness here is the version info - it's a `redhat 6.7 x64` machine:
![spyder3 0 0b1-versioninfo](https://cloud.githubusercontent.com/assets/3229632/9800387/8c7ade92-57c1-11e5-8394-c006c69201de.jpg)



Discussion:
Hmmm will take a look :-)

This could be due to a firewall issue.. So let me know if you want any more specific machine diagnostics..

For the moment you can disable the check for updates on startup while I check ok? (Preferences general, last option)

@durack1 can you try to run this code and let me know what happens? 

``` python
from urllib2 import urlopen

url = 'https://api.github.com/repos/spyder-ide/spyder/releases'
page = urlopen(url)
print(page)
data = page.read()
print(data)
```

This is the basic call in the check updates func... lets see what happens

@goanpeca yep, looks like the firewall is the problem the `SSL: CERTIFICATE_VERIFY_FAILED` gives it away:

``` python
>>> from urllib2 import urlopen
>>> 
>>> url = 'https://api.github.com/repos/spyder-ide/spyder/releases'
>>> page = urlopen(url)
print(page)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/uvcdat/2015-08-25/lib/python2.7/urllib2.py", line 154, in urlopen
data = page.read()
    return opener.open(url, data, timeout)
  File "/usr/local/uvcdat/2015-08-25/lib/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/local/uvcdat/2015-08-25/lib/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/local/uvcdat/2015-08-25/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/local/uvcdat/2015-08-25/lib/python2.7/urllib2.py", line 1240, in https_open
    context=self._context)
  File "/usr/local/uvcdat/2015-08-25/lib/python2.7/urllib2.py", line 1197, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
>>> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'page' is not defined
>>> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'page' is not defined
>>>
```

Suggestions ?

@goanpeca this is a fringe case, not sure many other folks would have the same firewall issues as this..

You could trap this error and replace the text in the dialog that pops up indicating that `"Spyder is unable to check for updates"` and if the dialog starts to repeatedly nag then `"to suppress update checks, you can turn off automatic checking in the Spyder Preferences Console (Preferences | General | Software Updates)"` or something similar..

How about this?

``` python
import ssl
from urllib2 import urlopen

context = ssl._create_unverified_context()
url = 'https://api.github.com/repos/spyder-ide/spyder/releases'
page = urlopen(url, context=context)
print(page)
data = page.read()
print(data)
```

@goanpeca ok, I think you've sorted it:

``` Python
>>> import ssl
>>> from urllib2 import urlopen
>>> context = ssl._create_unverified_context()
>>> url = 'https://api.github.com/repos/spyder-ide/spyder/releases'
>>> page = urlopen(url, context=context)
print(page)
>>> <addinfourl at 139710484927696 whose fp = <socket._fileobject object at 0x7f10f79a02d0>>
>>> data = page.read()
>>> print(data)
[{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/1717452","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/1717452/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/1717452/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.6","id":1717452,"tag_name":"v2.3.6","target_commitish":"master","name":"Spyder 2.3.6","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-08-25T02:34:13Z","published_at":"2015-08-25T02:41:33Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.6","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.6","body":"#### Windows\r\n\r\n* [spyder-2.3.6.win-amd64-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6.win-amd64-py3.4.exe)\r\n* [spyder-2.3.6.win32-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6.win32-py3.4.exe)\r\n* [spyder-2.3.6.win-amd64-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6.win-amd64-py2.7.exe)\r\n* [spyder-2.3.6.win32-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6.win32-py2.7.exe)\r\n\r\n#### MacOS X\r\n\r\n* [spyder-2.3.6-py3.4.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6-py3.4.dmg)\r\n* [spyder-2.3.6-py2.7.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6-py2.7.dmg)\r\n\r\n#### Linux\r\n\r\n* [spyder-2.3.6.zip](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.6.zip)\r\n\r\n-----\r\n\r\n**Issues**\r\n\r\n* Issue #2625 - Multiple untitled files generate at close\r\n* Issue #2614 - Indenting at the first position in file fails/crashes\r\n* Issue #2608 - Crash after update IPython to 4.0\r\n* Issue #2596 - Call tips and auto completion tips go out of screen on a second monitor\r\n* Issue #2593 - Having a lof of data in the Variable explorer slows down Spyder considerably\r\n* Issue #2566 - Spyder crash on launch with Babel 2.0/Python 3.4\r\n* Issue #2560 - List of pandas dataframes in variable explorer slows down Spyder\r\n* Issue #2517 - Variable explorer auto-refreshes after kernel restarts\r\n* Issue #2514 - DataFrames with headers that contain BOM utf-8 data are freezing/crashing Spyder (in Python 2)\r\n* Issue #2491 - Spyder crashes when displaying DataFrames with duplicate column names in the Variable Explorer\r\n* Issue #2413 - Don't ask to confirm exit on default untitled files\r\n* Issue #2315 - Display object name in DataFrame editor\r\n\r\nIn this release they were closed 12 issues\r\n\r\n**Pull requests**\r\n\r\n* PR #2639 - Fix missing exception on Windows when importing data on the Variable Explorer\r\n* PR #2617 - Show call tips at right position when there are multiple screens\r\n* PR #2615 - Fix error when indenting on the first line of a file\r\n\r\nIn this release they were merged 3 pull requests"},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/1618627","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/1618627/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/1618627/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v3.0.0b1","id":1618627,"tag_name":"v3.0.0b1","target_commitish":"master","name":"Spyder 3.0.0 beta1","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":true,"created_at":"2015-08-02T19:42:23Z","published_at":"2015-08-02T19:49:33Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v3.0.0b1","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v3.0.0b1","body":"#### All platforms\r\n\r\n* [spyder-3.0.0b1.zip](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-3.0.0b1.zip)\r\n\r\n----\r\n\r\n**Release notes**\r\n\r\nPlease read our [Changelog](https://github.com/spyder-ide/spyder/wiki/Beta-version-changelog) to see what's new in this major version."},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/1448396","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/1448396/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/1448396/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.5.2","id":1448396,"tag_name":"v2.3.5.2","target_commitish":"master","name":"Spyder 2.3.5.2","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-06-23T02:13:32Z","published_at":"2015-06-23T02:19:05Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.5.2","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.5.2","body":"#### Windows\r\n\r\n* [spyder-2.3.5.2.win-amd64-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2.win-amd64-py3.4.exe)\r\n* [spyder-2.3.5.2.win32-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2.win32-py3.4.exe)\r\n* [spyder-2.3.5.2.win-amd64-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2.win-amd64-py2.7.exe)\r\n* [spyder-2.3.5.2.win32-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2.win32-py2.7.exe)\r\n\r\n#### MacOS X\r\n\r\n* [spyder-2.3.5.2-py3.4.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2-py3.4.dmg)\r\n* [spyder-2.3.5.2-py2.7.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2-py2.7.dmg)\r\n\r\n#### Linux\r\n\r\n* [spyder-2.3.5.2.zip](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.5.2.zip)\r\n\r\n-----\r\n\r\n**Issues**\r\n\r\n* Issue #2468 - 'Connect to existing kernel' fails if json file not in PWD\r\n* Issue #2466 - No Notification of Running Instance\r\n* Issue #2463 - Failure to preserve Matplotlib backend when using symbolic math\r\n* Issue #2456 - Launching IPython console fails because of errors importing Pandas or Matplotlib\r\n* Issue #2452 - os.system causes TypeError in Python 3\r\n* Issue #2448 - Spyder crashes using Variable Explorer with BeautifulSoup\r\n* Issue #2446 - When importing putting two periods in a row produces an error in a Python console\r\n* Issue #2363 - Spyder fails to start because of problems with lockfile\r\n* Issue #2356 - Block comment incorporating whitespace excludes last line\r\n* Issue #2341 - IPython console: \"sre_constants.error: unbalanced parenthesis\" while typing\r\n* Issue #2314 - Cell highlighting not updated after closing the FindReplace widget\r\n* Issue #2302 - Closing all files in editor shouldn't leave it empty\r\n* Issue #2299 - IPython preference \"Automatically load Pylab and Numpy Modules\" not followed\r\n* Issue #2298 - Cannot stop executing when runing a flask app with debug=True\r\n* Issue #2285 - Copying from Spyder and pasting into LibreOffice displays strange comments\r\n* Issue #2228 - Shortcut to run cells on Mac is not working\r\n* Issue #2188 - can't run win_post_install from pip\r\n* Issue #2171 - Spyder Mac apps (for Python 2 and 3) hang on startup with OSX 10.9.5\r\n* Issue #2028 - Background color of theme is not set properly on Mac OSX\r\n* Issue #1957 - Python 3 Mac app can't start Python or IPython consoles\r\n* Issue #1844 - \"Set as current console's working directory\" button not working on Python 3\r\n* Issue #1615 - Mac app - Matplotlib does not work with Canopy\r\n\r\nIn this release they were closed 22 issues\r\n\r\n**Pull requests**\r\n\r\n* PR #2486 - Stop using IPython.lib.kernel 0.13.2 shim and add initial support for Jupyter\r\n* PR #2484 - Remove unnecessary changes to detected kernel json file when connecting to external kernels\r\n* PR #2434 - Match for pylint when parsing pylint version\r\n* PR #2411 - Improve github issue template\r\n* PR #2377 - Fix the fact that spyder_win_post_install.py can't be run from pip\r\n* PR #2293 - Hide menu icons on Mac OS X\r\n* PR #2247 - Add support to run Python programs on xfce and xterm external terminals\r\n* PR #2216 - Fix broken png files: libpng 1.6.2 and newer has stricter iCCP rules\r\n\r\nIn this release they were merged 8 pull requests"},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/1447670","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/1447670/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/1447670/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.5.1","id":1447670,"tag_name":"v2.3.5.1","target_commitish":"master","name":"Spyder 2.3.5.1","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-06-22T21:08:25Z","published_at":"2015-06-22T21:48:29Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.5.1","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.5.1","body":"This release has a critical bug in Mac, which makes Spyder crash at startup. It's fixed in **2.3.5.2**"},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/1446016","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/1446016/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/1446016/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.5","id":1446016,"tag_name":"v2.3.5","target_commitish":"master","name":"Spyder 2.3.5","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-06-22T15:20:08Z","published_at":"2015-06-22T15:25:09Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.5","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.5","body":"Unfortunately this release has a major bug on Windows platforms. The next release (**2.3.5.1**) fixes it."},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/1076631","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/1076631/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/1076631/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.4","id":1076631,"tag_name":"v2.3.4","target_commitish":"master","name":"Spyder 2.3.4","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-03-22T00:42:15Z","published_at":"2015-03-22T00:48:56Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.4","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.4","body":"#### Windows\r\n\r\n* [spyder-2.3.4.win-amd64-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4.win-amd64-py3.4.exe)\r\n* [spyder-2.3.4.win32-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4.win32-py3.4.exe)\r\n* [spyder-2.3.4.win-amd64-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4.win-amd64-py2.7.exe)\r\n* [spyder-2.3.4.win32-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4.win32-py2.7.exe)\r\n\r\n#### MacOS X\r\n\r\n* [spyder-2.3.4-py3.4.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4-py3.4.dmg)\r\n* [spyder-2.3.4-py2.7.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4-py2.7.dmg)\r\n\r\n#### Linux\r\n\r\n* [spyder-2.3.4.zip](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.4.zip)\r\n\r\n-----\r\n\r\n**Issues**\r\n\r\n* Issue #2259 - spyder crashes if ipython installed but not pygments\r\n* Issue #2257 - Cannot plot inline in IPython console on Linux\r\n* Issue #2252 - Update French translations for 2.3.4\r\n* Issue #2245 - Importing a module with debugger causes \"TypeError: decoding Unicode is not supported\"\r\n* Issue #2239 - SyntaxErrors with Python 3.2\r\n* Issue #2234 - Object Inspector is not showing \"No documentation available\" for objects without docstring\r\n* Issue #2227 - IPython does not work with brewed or virtualenv Python(s) in MacOSX\r\n* Issue #2223 - Spyder2.3.3 Code completion breaks\r\n* Issue #2207 - Spyder's WM_CLASS is empty, resulting in unexpected behavior for task managers\r\n* Issue #2203 - Code completion issue with Jedi\r\n* Issue #2197 - IPython consoles are not named correctly when connecting to existing kernels and passing the full kernel path\r\n* Issue #2158 - runfile with path containing apostrophes (quotes) will not work\r\n* Issue #2151 - Long NumPy arrays throw off errors\r\n* Issue #2146 - Special character \"!\" is not processed correctly when debugging in Python consoles\r\n* Issue #2081 - Spyder crashes on Windows because of non-ascii chars in working directory\r\n* Issue #2058 - Don't execute external commands (!) when running pdb in python consoles\r\n* Issue #2034 - Execute until first breakpoint when pressing the Debug button\r\n* Issue #2032 - Dragging (not dropping) file from 7zip over spyder window causes TypeError in dragEnterEvent\r\n* Issue #1952 - spyderlib.utils.external overrides modules for script execution\r\n* Issue #1948 - spyder 2.3 ipython console startup code or file not working\r\n* Issue #1856 - Running in external system terminals is not working on Windows and Python 3\r\n* Issue #1845 - Spyder crashes on launch trying to load the project config file (.spyderproject)\r\n* Issue #1568 - raw_input borks with '!'\r\n* Issue #1529 - Plot A List Of Floats In Variable Explorer Not Possible\r\n* Issue #1380 - Problems with sitecustomize because of pickleshare library\r\n* Issue #1366 - \"Highlight occurrences\" setting is lost after IDE restart\r\n* Issue #1359 - Mac app - Sometimes it's not possible to get the user env vars\r\n* Issue #1321 - The PYTHONPATH manager on the Mac app does not work with the EPD64 interpreter\r\n* Issue #1151 - Ctrl-C doesn't copy to clipboard in object inspector\r\n\r\nIn this release they were closed 29 issues\r\n\r\n**Pull requests**\r\n\r\n* PR #2255 - Update French translations\r\n* PR #2242 - Improve message for no docstring\r\n* PR #2233 - catch a reason to crash on startup\r\n* PR #2224 - Fix a bug in completion if callback value is not converted to string\r\n* PR #2219 - Open configuration file with utf-8 encoding on Windows and Python 2 \r\n* PR #2214 - Fix zlib segmentation fault in Anaconda 3.4 Linux\r\n\r\nIn this release they were merged 6 pull requests"},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/988635","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/988635/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/988635/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.3","id":988635,"tag_name":"v2.3.3","target_commitish":"master","name":"Spyder 2.3.3","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-02-25T22:40:38Z","published_at":"2015-02-25T22:42:31Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.3","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.3","body":"#### Windows\r\n\r\n* [spyder-2.3.3.win-amd64-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.3.win-amd64-py3.4.exe)\r\n* [spyder-2.3.3.win32-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.3.win32-py3.4.exe)\r\n* [spyder-2.3.3.win-amd64-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.3.win-amd64-py2.7.exe)\r\n* [spyder-2.3.3.win32-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.3.win32-py2.7.exe)\r\n\r\n#### MacOS X\r\n\r\n* [spyder-2.3.3-py2.7.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.3-py2.7.dmg)\r\n\r\n#### Linux\r\n\r\n* [spyder-2.3.3.zip](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.3.zip)\r\n"},{"url":"https://api.github.com/repos/spyder-ide/spyder/releases/974527","assets_url":"https://api.github.com/repos/spyder-ide/spyder/releases/974527/assets","upload_url":"https://uploads.github.com/repos/spyder-ide/spyder/releases/974527/assets{?name}","html_url":"https://github.com/spyder-ide/spyder/releases/tag/v2.3.2","id":974527,"tag_name":"v2.3.2","target_commitish":"master","name":"Spyder 2.3.2","draft":false,"author":{"login":"ccordoba12","id":365293,"avatar_url":"https://avatars.githubusercontent.com/u/365293?v=3","gravatar_id":"","url":"https://api.github.com/users/ccordoba12","html_url":"https://github.com/ccordoba12","followers_url":"https://api.github.com/users/ccordoba12/followers","following_url":"https://api.github.com/users/ccordoba12/following{/other_user}","gists_url":"https://api.github.com/users/ccordoba12/gists{/gist_id}","starred_url":"https://api.github.com/users/ccordoba12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccordoba12/subscriptions","organizations_url":"https://api.github.com/users/ccordoba12/orgs","repos_url":"https://api.github.com/users/ccordoba12/repos","events_url":"https://api.github.com/users/ccordoba12/events{/privacy}","received_events_url":"https://api.github.com/users/ccordoba12/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2014-12-02T00:43:57Z","published_at":"2015-02-21T15:57:09Z","assets":[],"tarball_url":"https://api.github.com/repos/spyder-ide/spyder/tarball/v2.3.2","zipball_url":"https://api.github.com/repos/spyder-ide/spyder/zipball/v2.3.2","body":"#### Windows\r\n\r\n* [spyder-2.3.2.amd64-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.2.amd64-py3.4.exe)\r\n* [spyder-2.3.2.win32-py3.4.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.2.win32-py3.4.exe)\r\n* [spyder-2.3.2.amd64-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.2.amd64-py2.7.exe)\r\n* [spyder-2.3.2.win32-py2.7.exe](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.2.win32-py2.7.exe)\r\n\r\n#### MacOS X\r\n\r\n* [spyder-2.3.2-py2.7.dmg](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.2-py2.7.dmg)\r\n\r\n#### Linux\r\n\r\n* [spyder-2.3.2.zip](https://bitbucket.org/spyder-ide/spyderlib/downloads/spyder-2.3.2.zip)"}]
>>> 
```

Ok I will submit a PR on this, so for the next beta it should be solved...

Thanks for reporting :+1:

@goanpeca no problem - thanks for the lightning fast fix!

Glad to be of help


Resolving patch:
diff --git a/spyderlib/workers/updates.py b/spyderlib/workers/updates.py
--- a/spyderlib/workers/updates.py
+++ b/spyderlib/workers/updates.py
@@ -6,7 +6,7 @@
 # (see spyderlib/__init__.py for details)
 
 import json
-
+import ssl
 
 from spyderlib import __version__
 from spyderlib.config.base import _
@@ -60,8 +60,11 @@ def start(self):
         self.latest_release = __version__
 
         error_msg = None
+        # Fix for issue # 2685
+        # More info: https://www.python.org/dev/peps/pep-0476/#opting-out
+        context = ssl._create_unverified_context()
         try:
-            page = urlopen(self.url)
+            page = urlopen(self.url, context=context)
             try:
                 data = page.read()
 


Test patch: