PyPy3 + virtuelle Umgebung in 30 Sekunden installieren
TL;DR:
Führen Sie dies aus
wget -qO- https://techoverflow.net/scripts/pypy3-installer.sh | bashdann führen Sie vpypy jedes Mal aus, wenn Sie aktivieren möchten (möglicherweise müssen Sie neu starten). Das Skript geht derzeit davon aus, dass Sie Linux x86_64 ausführen und virtualenv installiert haben (sudo apt install virtualenv oder ähnlich, falls nicht installiert)
Vollständige Beschreibung:
PyPy ist eine alternative Python-Implementierung, die verwendet werden kann, um viele Workloads zu beschleunigen. Die Installation ist jedoch ein etwas umständlicher Prozess, besonders wenn Sie nicht viel Erfahrung mit virtuellen Umgebungen und verwandten Konzepten haben.
Wir stellen ein Skript zur Verfügung, das automatisch PyPy3 herunterlädt, es in ~/.pypy3 installiert und eine virtuelle Umgebung in ~/.pypy3-virtualenv erstellt. Danach erstellt es einen Shell-Alias vpypy, der auf source ~/.pypy3-virtualenv/bin/activate verweist und so eine leicht merkbare Möglichkeit bietet, die Umgebung zu aktivieren, ohne dass der Benutzer sich das Verzeichnis merken muss.
Da sowohl pypy3 selbst als auch die virtuelle Umgebung im Home-Verzeichnis des Benutzers installiert werden, erfordert die Ausführung dieses Skripts keine Administratorberechtigungen.
Nachdem Sie das Skript mit
wget -qO- https://techoverflow.net/scripts/pypy3-installer.sh | bashkönnen Sie die virtuelle Umgebung mit dem vpypy-Alias aktivieren, der automatisch zu ~/.bashrc und ~/.zshrc hinzugefügt wird. Starten Sie Ihre Shell neu, damit die Alias-Definition geladen wird, und führen Sie dann vpypy aus:
uli@uli-laptop ~ % vpypy
(.pypy3-virtualenv) uli@uli-laptop ~ %Sie sehen, dass sich der Prompt geändert hat. Nun können Sie pip (das Pakete lokal in das PyPy3-virtualenv installiert), python (das auf pypy3 verweist) und andere verwandte Programme verwenden. Um ein Skript mit PyPy auszuführen, führen Sie einfach python myscript.py aus
Vollständiger Quellcode:
#!/bin/bash
# TechOverflow's 30-Sekunden PyPy3 Virtual Environment Generator
# Dieses Skript wird unter CC0 1.0 Universal veröffentlicht
DIRECTORY=~/.pypy3
VENV_DIRECTORY=~/.pypy3-virtualenv
VERSION=pypy3.6-v7.3.0-linux64
# PyPy herunterladen (oder vorhandenes verwenden)
if [ -d "$DIRECTORY" ]; then
echo "Überspringe PyPy-Download, existiert bereits"
else
echo "Lade PyPy nach $DIRECTORY herunter"
# Herunterladen & nach DIRECTORY entpacken
wget https://techoverflow.net/downloads/${VERSION}.tar.bz2 -O /tmp/${VERSION}.tar.bz2
bash -c "cd /tmp && tar xjvf ${VERSION}.tar.bz2"
mv /tmp/${VERSION} $DIRECTORY
rm /tmp/${VERSION}.tar.bz2
fi
# Virtualenv erstellen
if [ -d "$VENV_DIRECTORY" ]; then
echo "Überspringe Erstellung des pypy3-Virtualenv, existiert bereits"
else
echo "Erstelle PyPy-Virtual-Environment in $VENV_DIRECTORY"
virtualenv -p ${DIRECTORY}/bin/pypy3 ${VENV_DIRECTORY}
fi
# "vpypy"-Verknüpfung erstellen
set -x
vpypy
result="$?"
set +x
if [ "$result" -ne 127 ]; then
echo "Überspringe Erstellung der vpypy-Verknüpfung, existiert bereits in aktueller Shell"
else
echo "Erstelle bash/zsh-Verknüpfung 'vpypy'"
if [ -f ~/.bashrc ]; then
echo -e "\n# TechOverflow PyPy installer\nalias vpypy='source ${VENV_DIRECTORY}/bin/activate'\n" >> ~/.bashrc
fi
if [ -f ~/.zshrc ]; then
echo -e "\n# TechOverflow PyPy installer\nalias vpypy='source ${VENV_DIRECTORY}/bin/activate'\n" >> ~/.zshrc
fi
# Verknüpfung in aktueller Shell aktivieren (aber virtuelle Umgebung nicht automatisch aktivieren)
alias vpypy='source ${VENV_DIRECTORY}/bin/activate'
fi
echo -e "\n\nPyPy-Installation abgeschlossen. Starten Sie Ihre Shell neu und führen Sie dann 'vpypy' aus, um die virtuelle Umgebung zu aktivieren"