https://skb.io/blog/setting-up-a-python-environment/