urllib3.exceptions.LocationParseError: Failed to parse

`python3 -c "import requests; requests.get('https://google.com');"` produces error.

## Expected Result

`requests.get()` gets the URL in question.

## Actual Result

```
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/models.py", line 379, in prepare_url
    scheme, auth, host, port, path, query, fragment = parse_url(url)
  File "/usr/lib/python3/dist-packages/urllib3/util/url.py", line 392, in parse_url
    return six.raise_from(LocationParseError(source_url), None)
  File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: https://google.com

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 519, in request
    prep = self.prepare_request(req)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 452, in prepare_request
    p.prepare(
  File "/usr/lib/python3/dist-packages/requests/models.py", line 313, in prepare
    self.prepare_url(url, params)
  File "/usr/lib/python3/dist-packages/requests/models.py", line 381, in prepare_url
    raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://google.com
```

## Reproduction Steps

`python3 -c "import requests; requests.get('https://google.com');"` on CLI.

## System Information

    $ python3 -m requests.help

```
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": "2.8"
  },
  "idna": {
    "version": "2.8"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.8.2"
  },
  "platform": {
    "release": "5.4.0-33-generic",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "1010104f",
    "version": "19.0.0"
  },
  "requests": {
    "version": "2.22.0"
  },
  "system_ssl": {
    "version": "1010106f"
  },
  "urllib3": {
    "version": "1.25.8"
  },
  "using_pyopenssl": true
}
```

## Other Information

When I try to hit that URL in my browser it works fine.

I am seeing the same thing with [Certbot](https://github.com/certbot/certbot) and [Emscripten](https://github.com/emscripten-core/emscripten).

> Reproduction Steps
> ```python3 -c "import requests; requests.get('https://google.com');" on CLI.```

I can't reproduce this on Linux (Debian), Mac (OS X Catalina), or Windows (10). Likely something wrong on your side.

I can reproduce this error.
This error ocurred in my installation because urllib3/util/url.py catches the following error and transforms it into InvalidURL:
```
module 'six' has no attribute 'ensure_str'
```

Somewhere in the dependency chain a not-recent-enough version of six is requested. In my case 1.14.0 was installed, but ensure_str seems to be available from 1.15.0. So this could help (it is a workaround of course):
```
pip3 install six==1.15.0
```