Using pyenv for Python version management
Python is currently the 2nd most used programming language in the world. Development tools are increasing in quality as well, making life as a Python developer much easier (shoutout to Visual Studio Code,
flake8). Most of the time you use only the Python version installed in your operating system. However, projects can require different Python versions, sometimes even made explicit thanks to
pyenv is a cli-utility that solves this problem by making it easy to manage Python versions. It is easy to setup: https://github.com/pyenv/pyenv:
- Follow the instructions on Github:. I prefer the GitHub Checkout way of installing, it's super easy. It's a simple
- Make sure the relevant environment variables get added to your
- Restart your shell to make path changes take effect.
- You need to install build dependencies so that you can install any Python version you want. For Ubuntu you need to use the following command:
sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
Please take a look at the instructions to find out how to install build dependencies for your OS
Now you can use pyenv! Some things you can do are:
pyenv versionsView all the installed Python versions
pyenv install 3.9.0Install Python 3.9.0. It can be ofcourse any version you want. It may take a while to install a new Python versions
pyenv global <version>Change the global Python version
You can also create a
.python-version file that will tell pyenv which Python version should be used (the content of the file should be the desired Python version). It works like this:
pyenv versions * system (set by /home/marco/.pyenv/version) 2.7.18 3.9.0 python -V Python 3.8.2 cd my-python-project cat .python-version 3.9.0 python -V Python 3.9.0
Pretty cool if you ask me!
Use Authelia for single-sign on with Caddy as a reverse proxy. 1. Use Traefik as a reverse proxy for your secure domains behind Caddy (proxy behind a proxy). 2. Forward your secure domains to Traefik by creating one single entry in your Caddyfile.
Tue Oct 05 2021
Self-hosting enthusiasts often run their own services such as NextCloud, Jellyfin, Home Assistant, Pihole and many others. When you start self-hosting you quickly accumulate a lot of services. Soon you will find out that accessing services by an IP address and port number is not very user-friendly, and if this sounds familiar, you've probably heard about something called a reverse proxy: A reverse proxy is a service that sits in fronts of web services and handles all traffic towards those web s
Thu May 28 2020