<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[X] bug report
[ ] feature request

# Detailed description

Trying to start localstack (0.11.6) that's been downloaded on a Windows 10 machine with the help of pip. In fact, trying to run just: `localstack`, which should print the usage, results in the same output.

Output from a PowerShell prompt:

```
P:\>python C:\Users\user\AppData\Local\Programs\Python\Python39\Scripts\\localstack start
'uname' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\Scripts\localstack", line 18, in <module>
    cli.main()
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\localstack\utils\cli.py", line 130, in main
    bootstrap.load_plugins(scope=bootstrap.PLUGIN_SCOPE_COMMANDS)
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\localstack\utils\analytics\profiler.py", line 153, in wrapped
    from localstack.utils.common import now_utc
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\localstack\utils\common.py", line 4, in <module>
    import pwd
ModuleNotFoundError: No module named 'pwd'
```

From my understanding windows might not be compatible with the `pwd` module.

Official Python docs:

> This module provides access to the Unix user account and password database. It is available on all Unix versions.

But this is just guesswork...

---

I've tried with lower version of localstack (0.11.2 and 0.11.5) on the same setup, and they work just fine.

### Versions

* Python 3.9.0
* pip 20.2.3
* Docker version 19.03.13, build 4484c46d9d
* Windows 10 Enterprise, Version 1809, OS build 17763.1457

## Expected behavior

Localstack starts

## Actual behavior

Localstack does not start

# Steps to reproduce

## Command used to start LocalStack

`localstack start`

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)

none

port = port_or_url
    host = 'localhost'
    protocol = 'http'
    protocols = protocols if isinstance(protocols, list) else [protocols]
    if isinstance(port, six.string_types):
        url = urlparse(port_or_url)
        port = url.port
        host = url.hostname
        protocol = url.scheme
    nw_protocols = []
    nw_protocols += ([socket.SOCK_STREAM] if 'tcp' in protocols else [])
    nw_protocols += ([socket.SOCK_DGRAM] if 'udp' in protocols else [])
    for nw_protocol in nw_protocols:
        with closing(socket.socket(socket.AF_INET, nw_protocol)) as sock:
            sock.settimeout(1)
            if nw_protocol == socket.SOCK_DGRAM:
                try:
                    if port == 53:
                        dnshost = '127.0.0.1' if host == 'localhost' else host
                        resolver = dns.resolver.Resolver()
                        resolver.nameservers = [dnshost]
                        resolver.timeout = 1
                        resolver.lifetime = 1
                        answers = resolver.query('google.com', 'A')
                        assert len(answers) > 0
                    else:
                        sock.sendto(bytes(), (host, port))
                        sock.recvfrom(1024)
                except Exception:
                    return False