pygame in virtualenv
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Achtung!
Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.
Hinweis:
Diese Howto-Anleitung wurde zuletzt von Bayer am 19.01.2015 unter Ubuntu 14.04 erfolgreich getestet.
Problembeschreibung¶
Die Installation von Pygame unter Ubuntu ist bereits im Wiki beschrieben. Dieses HowTo beschreibt die Installation von Pygame in einer virtuellen Pythonumgebung (virtualenv) unter Python 3, so daß die Pythonumgebung auf dem Ubuntu-System unverändert bleiben kann. Dies hat Vorteile, wenn man mit Python-Versionen und -Modulen experimentieren will, zumal sich Pygame nicht über PyPi mittels pip installiert und _deinstalliert_. In dieser Anleitung wurde versucht, soviele Abhängigkeiten wie möglich (alles was Python ist) in die virtualenv zu packen.
Anleitung¶
Abhängigkeiten wie im Wiki oder unter http://pygame.org/wiki/CompileUbuntu?parent=Compilation#Python%203.x angegeben installieren, oder falls das nicht geht per:
sudo apt-get build-dep pygame
python-numpy weglassen, kommt auch in die virtualenv. Ab jetzt werden keine root-Rechte mehr benötigt.
Virtualenv vorbereiten: virtualenv herunterladen und entpacken (alternativ: per Synaptic Paketmanager installieren, benötigt root-Rechte)
cd virtualenv-X.X.X # X.X.X durch vorhandene Version ersetzen python3 virtualenv.py --no-site-packages myVE1 # virtualenv myVE1 erstellen
Problem: virtualenv/myVE1/include/python3.4 ist ein Link auf ein Verzeichnis unter /usr, also nur von root schreibbar.
Lösung: Den Link in python3.4_link umbenennen, dessen Inhalt in ein neu angelegtes Verzeichnis python3.4 kopieren. Anschließend den Link python3.4_link löschen. In der Kommandozeile geht das wie folgt:cd myVE1/include/ mv python3.4m python3.4_link # 3.4 ggf. durch die vorhandene Version ersetzen mkdir python3.4 cp python3.4_link/* python3.4/ rm python3.4_link
numpy und pygame installieren. Dazu wird das heruntergeladene pygame-Verzeichnis in das myVE1 Verzeichnis kopiert.
cp /path/to/downloaded/pygame virtualenv-X.X.X/myVE1/ cd virtualenv-X.X.X/myVE1 # in virtualenv-X.X.X/myVE1 wechseln source bin/activate # virtualenv myVE1 aktivieren pip3 install numpy cd pygame python3 setup.py build python3 setup.py install # ohne sudo ;) passiert alles in der virtualenv myVE1 cd .. rm -R pygame # wird nicht mehr benötigt
Pygame nutzen¶
Um Pygame in der virtualenv zu nutzen, wechselt man in das Verzeichnis der virtualenv und aktiviert diese. Wer IDLE als Entwicklungsumgebnung nutzt, kann dies in folgendem Startskript zusammenfassen:
#!/bin/bash cd path/to/virtualenv-X.X.X/myVE1/ source bin/activate python -c "from idlelib.PyShell import main; main()"
Links¶