Seite wählen

Virtual Environments in Python

von | Mai 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

Markus Waldmüller
Markus Waldmüller
Lead Senior Consultant

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 Lead Senior Consultant gelandet. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.
Mehr Beiträge zum Thema Graphite & Grafana | Python

Ansible – should I use omit filter?

When we talk about Ansible, we more and more talk about AWX or Tower. This Tool comes in handy when you work with Ansible in a environment shared with colleagues or multiple teams. In AWX we can reuse the playbooks we developed and share them with our colleagues on a...

Managing your Ansible Environment with Galaxy

Ansible is known for its simplicity, lightweight footprint and flexibility to configure nearly any device in your infrastructure. Therefore it's used in large scale environments shared between teams or departments. This leads to even bigger Ansible environments which...

Graphite-API für Grafana und Icinga Web 2

Ziel dieses Posts ist es, am Ende die Metriken über die Graphite-API als Backend für Grafana und das Icinga-Web-2-Module graphite betreiben zu können. Grafana übernimmt hierbei optional die Visualisierung über eigene Dashboards, was ansonsten Graphite-Web leistet. Für...

Python lernen?

Hier möchte ich meine Erfahrung teilen, wie ich in die Sprache Python eingestiegen bin.   Am Anfang der Ausbildung bin ich in PHP eingestiegen und fand die Sprache sehr angenehm. Dazu gehören natürlich auch die Auszeichnungs-, Definitionsprachen HTML & CSS....

Veranstaltungen

Di 27

GitLab Training | Online

Oktober 27 @ 09:00 - Oktober 28 @ 17:00
Di 27

Graylog Training | Online

Oktober 27 @ 09:00 - Oktober 28 @ 17:00
NETWAYS Headquarter | Nürnberg
Nov 04

Vorstellung der Monitoring Lösung Icinga 2

November 4 @ 10:30 - 11:30
NETWAYS Headquarter | Nürnberg
Nov 24

Elastic Stack Training | Online

November 24 @ 09:00 - November 26 @ 17:00
Dez 01

Foreman Training | Nürnberg

Dezember 1 @ 09:00 - Dezember 2 @ 17:00
NETWAYS Headquarter | Nürnberg