requests does not install if Python has no SSL support

here's what happens if you try to install requests in a Python environment that doesn't have SSL support:

```
Downloading/unpacking requests
  Downloading requests-0.8.4.tar.gz (52Kb): 52Kb downloaded
  Running setup.py egg_info for package requests
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/usr/local/src/cogo/platform/systemfiles/analyst/home/config/build/requests/setup.py", line 6, in <module>
        import requests
      File "requests/__init__.py", line 27, in <module>
        from .models import Request, Response
      File "requests/models.py", line 19, in <module>
        from .packages import oreos
      File "requests/packages/__init__.py", line 3, in <module>
        from . import urllib3
      File "requests/packages/urllib3/__init__.py", line 16, in <module>
        from .connectionpool import (
      File "requests/packages/urllib3/connectionpool.py", line 11, in <module>
        from httplib import HTTPConnection, HTTPSConnection, HTTPException
    ImportError: cannot import name HTTPSConnection
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/usr/local/src/cogo/platform/systemfiles/analyst/home/config/build/requests/setup.py", line 6, in <module>

    import requests

  File "requests/__init__.py", line 27, in <module>

    from .models import Request, Response

  File "requests/models.py", line 19, in <module>

    from .packages import oreos

  File "requests/packages/__init__.py", line 3, in <module>

    from . import urllib3

  File "requests/packages/urllib3/__init__.py", line 16, in <module>

    from .connectionpool import (

  File "requests/packages/urllib3/connectionpool.py", line 11, in <module>

    from httplib import HTTPConnection, HTTPSConnection, HTTPException

ImportError: cannot import name HTTPSConnection

----------------------------------------
Command python setup.py egg_info failed with error code 1
```

not only is this very inconvenient, but it seems to contradict the assertion that requests has "zero dependencies".


Interesting. We should definitely fix this.

Now I'm curious though — what's the best way to hand this? Raise a `ConnectionError` when someone tries to open an https url? Or maybe a `ProtocolNotAvailable` error?


Shouldn't this be handled in the urllib3?


@piotr-dobrogost: urllib3 is, as always, not an issue. 

Probally worth noting to @shazow though.


Hmm I've never seen that happen before. I could try to handle the case better by providing a built-in faux-HTTPSConnection object, though not sure if it would work at all without replicating a lot of the logic.

`ProtocolNotAvailable` sounds good to me, maybe even inherit from a `ConnectionError`. :)


I'm tempted to just say that we require it.


Closing this, since this is technically a urllib3 bug. 


@shazow - asking here rather than filing an issue on urllib3, as I'm looking for clarification.

I've just run into this exact issue myself. Seeing as how it's been marked closed 'urllib3 bug', would you like an issue opened for it? I'm not seeing one currently.

**Edit:** For reference, urllib2 does import fine in this environment and throws a urllib2.URLError: "urlopen error unknown url type: https" Regular http connections work.


@pudquick Please open a urllib3 bug, I'll try to get this fixed this weekend.