<!-- 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

""" If ``obj`` is an instance of ``binary_type``, return
    ``obj.decode(encoding, errors)``, otherwise return ``obj`` """
    return obj.decode(encoding, errors) if isinstance(obj, six.binary_type) else obj
def to_bytes(obj, encoding=DEFAULT_ENCODING, errors='strict'):
    """ If ``obj`` is an instance of ``text_type``, return
    ``obj.encode(encoding, errors)``, otherwise return ``obj`` """
    return obj.encode(encoding, errors) if isinstance(obj, six.text_type) else obj
def str_insert(string, index, content):
    """ Insert a substring into an existing string at a certain index. """
    return '%s%s%s' % (string[:index], content, string[index:])
def str_remove(string, index, end_index=None):
    """ Remove a substring from an existing string at a certain from-to index range. """
    end_index = end_index or (index + 1)
    return '%s%s' % (string[:index], string[end_index:])
def cleanup(files=True, env=ENV_DEV, quiet=True):
    if files:
        cleanup_tmp_files()
def cleanup_threads_and_processes(quiet=True, debug=False):
    for thread in TMP_THREADS:
        if thread:
            try:
                print_debug('[shutdown] Cleaning up thread: %s' % thread, debug)
                if hasattr(thread, 'shutdown'):