Select Page

Virtual Environments in Python

by | May 8, 2020 | Graphite & Grafana, Python

Viele Betriebssysteme liefern eine Python-Version mit, die sich aufgrund von weiteren Abhängigkeiten nicht so einfach wechseln oder entfernen lässt. Ein Beispiel dafür ist CentOS 7.7. Hier wird auch heute noch Python 2.7.5 standardmäßig mit ausgeliefert, aktuell ist 3.8.2. Mit Virtual Environments (Virtualenv) bietet Python ein Funktion, um trotzdem andere Versionen dort nutzen zu können und zwar dort, wo sie benötigt werden.

Die gewünschte Version muss natürlich trotzdem installiert werden, auf CentOS 7 geschieht das beispielsweise mit:

$ yum install python3

Anschließend wird das Virtual Environment initialisiert, dafür muss zuerst in ein Verzeichnis gewechselt werden, in dem zusätzliche Dateien abgelegt werden können (hier am Beispiel Graphite):

$ cd /opt/
$ python3 -m venv graphite

Danach wird das Virtual Environment aktiviert:

$ source graphite/bin/activate

Während man sich im Virtual Environment befindet, ändert sich der Bash-Prompt und sämtliche Python-Befehle werden auf die geänderte Python-Version angepasst:

(graphite)$ pip --version
(graphite)$ pip 9.0.3 from /opt/graphite/lib64/python3.6/site-packages (python 3.6)

Nun lassen sich die gewünschten Paketbhängigkeiten installieren oder Änderungen vornehmen. Und mit deactivate lässt sich das Virtual Environment wieder verlassen, bis es erneut aktiviert wird.

Wer trotzdem noch Unterstützung bei Linux oder vielleicht auch bei Graphite braucht, der kann sich natürlich gerne vertrauensvoll an uns wenden: clickhere

PS: Ganz hilfreich ist auch das Python Cheat Sheet

Markus Waldmüller
Markus Waldmüller
Head of Strategic Projects

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Senior Manager Services gelandet. Seit September 2023 kümmert er sich bei der NETWAYS Gruppe um strategische Projekte. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Graphite & Grafana | Python

Warum Python?

Als Systemintegrator in der IT-Welt stellt man früher oder später fest, dass man das Verstehen und Schreiben von Programmiersprachen nicht ignorieren kann. Je nachdem, in welcher IT-Bereich man tätig ist, wird man mit Programmiersprachen konfrontiert. Wir bei NETWAYS...

Kleine Weihnachtspyramide mit Raspberry Pi

Noch einmal schlafen und dann ist Weihnachten. Passend dazu haben wir von NETWAYS ein kleines Experiment zum selber Nachbauen vorbereitet. Es handelt sich um eine kleine Weihnachtspyramide, die sich mithilfe von Python Code und ein paar Bauteilen ein wenig bewegt und...

Ansible – Testing roles with Molecule

Ansible is a widely used and a powerful open-source configuration and deployment management tool. It can be used for simple repetitive daily tasks or complex application deployments, therefore Ansible is able to cover mostly any situation. If used in complex or...

Icinga for Windows Preview: Visualisiert eure Metriken!

Icinga hat in seinem Blogpost mitgeteilt, dass es mit Icinga for Windows v1.10.0 einige Änderungen an den Performance Metriken geben wird. Hier wollen wir einmal grob zusammenfassen, worum es geht und welche Auswirkungen diese Änderungen haben. Für alle Details ist...