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

try:
        with tempfile.NamedTemporaryFile() as tf:
            tf.write(content)
            tf.flush()
            with zipfile.ZipFile(tf.name, 'r') as zf:
                jar_entries = [e for e in zf.infolist() if e.filename.lower().endswith('.jar')]
                if match_single_jar and len(jar_entries) == 1 and len(zf.infolist()) == 1:
                    return True
                matching_prefix = [e for e in jar_entries if
                    not jar_path_prefix or e.filename.lower().startswith(jar_path_prefix)]
                return len(matching_prefix) > 0
    except Exception:
        return False
def is_jar_archive(content):
    """ Determine whether `content` contains valid zip bytes representing a JAR archive
        that contains at least one *.class file and a META-INF/MANIFEST.MF file. """
    try:
        with tempfile.NamedTemporaryFile() as tf:
            tf.write(content)
            tf.flush()
            with zipfile.ZipFile(tf.name, 'r') as zf:
                class_files = [e for e in zf.infolist() if e.filename.endswith('.class')]
                manifest_file = [e for e in zf.infolist() if e.filename.upper() == 'META-INF/MANIFEST.MF']
                if not class_files or not manifest_file:
                    return False
    except Exception:
        return False
    return True
def is_root():