Moin,
ich möchte pygame mit pypy3 nutzen (auf Ubuntu).
pypy3 ist installiert.
Wie kann ich pygame dafür installieren. Aus den verschiedenen (teilweise alten) Einträgen im Netz werde ich nicht schlau.
Hat jemand einen Link zu eine aktuell nutzbare Installations-Beschreibung?
pygame für pypy3 installieren
Laut https://stackoverflow.com/questions/423 ... ip-on-pypy mit pypy -m ensurepip
Und dann https://www.pygame.org/wiki/CompilePyPy folgen.
Und dann https://www.pygame.org/wiki/CompilePyPy folgen.
Hab's mal ausprobiert, so ging es problemlos:
Code: Alles auswählen
./bin/pypy -mensurepip
sudo aptitude install fluid-soundfont-gm fontconfig fonts-freefont-ttf libavcodec-dev libavformat-dev libfreetype6-dev libportmidi-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev libsmpeg-dev libswscale-dev libtiff5-dev libx11-6 libx11-dev python-numpy python-opengl python3-dev timgm6mb-soundfont xfonts-100dpi xfonts-75dpi xfonts-base xfonts-cyrillic
./bin/pypy -mpip install pygame
./bin/pypy -mpygame
Vielen Dank.Hab's mal ausprobiert, so ging es problemlos:
Leider muss ich wohl "ensurepip" noch installieren, oder richtiger aktivieren (weil ja "disabled").
Efolgsmeldung von mir folgt hoffentlich heute noch (muss mich erstmal um RealWorld Dinge kümmern).
Code: Alles auswählen
opus@opus-pc:~$ /usr/bin/pypy3 -mensurepip
ensurepip is disabled in Debian/Ubuntu for the system python.....
Alle Diskussion im Internet beziehen sich dann auf die Einrichtung einer Virtuellen Umgebung. Derartiges nutze ich hier aber nicht:
Anscheinend bin ich zu bl***
- __blackjack__
- User
- Beiträge: 13931
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@opus: Da steht „[…] disabled […] for the system python“ und das ist ja nicht pypy3. Für das System-Python kann man sich `pip` über den anderen Weg installieren der in der `pip`-Dokumentation beschrieben ist. Das geht dann auch für pypy3.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
Ich habe die Installationsversion per "get-pip.py" (von https://pip.pypa.io/en/stable/installation/) versucht.
Diese lief erfolgreich durch. ("Successfully installed pip-22.3.1 setuptools-65.6.3 wheel-0.38.4").
Leider liefert "pypy3 -mpip install pygame" immedr noch den Fehler:

Diese lief erfolgreich durch. ("Successfully installed pip-22.3.1 setuptools-65.6.3 wheel-0.38.4").
Leider liefert "pypy3 -mpip install pygame" immedr noch den Fehler:
Code: Alles auswählen
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [31 lines of output]
WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
Using UNIX configuration...
.....

Der komplette Report:
Code: Alles auswählen
opus@opus-pc:~$ pypy3 -mpip install pygame
Defaulting to user installation because normal site-packages is not writeable
Collecting pygame
Using cached pygame-2.1.2.tar.gz (10.1 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [31 lines of output]
WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
Using UNIX configuration...
/bin/sh: 1: sdl2-config: not found
/bin/sh: 1: sdl2-config: not found
/bin/sh: 1: sdl2-config: not found
Hunting dependencies...
---
For help with compilation see:
https://www.pygame.org/wiki/Compilation
https://www.pygame.org/wiki/CompilePyPy
To contribute to pygame development see:
https://www.pygame.org/contribute.html
---
Traceback (most recent call last):
File "<string>", line 36, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/tmp/pip-install-47a5x2vs/pygame_c53c55fd27af41e48c0e63313832fa5a/setup.py", line 359, in <module>
buildconfig.config.main(AUTO_CONFIG)
File "/tmp/pip-install-47a5x2vs/pygame_c53c55fd27af41e48c0e63313832fa5a/buildconfig/config.py", line 225, in main
deps = CFG.main(**kwds)
File "/tmp/pip-install-47a5x2vs/pygame_c53c55fd27af41e48c0e63313832fa5a/buildconfig/config_unix.py", line 188, in main
DependencyProg('SDL', 'SDL_CONFIG', 'sdl2-config', '2.0', ['sdl']),
File "/tmp/pip-install-47a5x2vs/pygame_c53c55fd27af41e48c0e63313832fa5a/buildconfig/config_unix.py", line 39, in __init__
self.ver = config[0].strip()
IndexError: list index out of range
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Danke für die Hilfe, das hätte ich so nicht gesehen/ verstanden.
Nachdem ich nun die gelisteten Pakete installiert hatte ( ohne numpy und opengl wegen Not Found) meldet MEIN PC nachdem "pypy3 - mpip install pygame" plötzlich " Speicherzugriffsfehler". Da zusätzlich auch kein WLAN zur Verfügung steht ist es wohl eher ein HardwareProblem. Das bedeutet aber das ich ich erstmal darum kümmern muss und die Installationsversuche von pygame für pypy3 unterbrechen muss.
Danke nochmal.
Nachdem ich nun die gelisteten Pakete installiert hatte ( ohne numpy und opengl wegen Not Found) meldet MEIN PC nachdem "pypy3 - mpip install pygame" plötzlich " Speicherzugriffsfehler". Da zusätzlich auch kein WLAN zur Verfügung steht ist es wohl eher ein HardwareProblem. Das bedeutet aber das ich ich erstmal darum kümmern muss und die Installationsversuche von pygame für pypy3 unterbrechen muss.
Danke nochmal.
Zuletzt geändert von opus am Freitag 25. November 2022, 10:59, insgesamt 1-mal geändert.
Ich denke nicht, dass das ein Hardware-Problem ist. Das Ding hat nur zu wenig Speicher, und der GCC ist eine Sau, wenn es um eben diesen geht - so zumindest meine Vermutung. Und der wird ja angeworfen hier, damit das installiert werden kann. Alternativ kannst du probieren, pygame als git-repo zu klonen, und dann mit pypy daraus zu installieren. Das fuehrt dann dazu, dass Dateien nach einander kompiliert werden, und irgendwann ist man damit hoffentlich durch.
Das hört sich gut an.Hat fuer mich damals problemlos geklappt. Und das war ein Pi 1 - deutlich resourcen-beschraenkter,
Leider tut sich auf meinem DevelopmentLaptop nix mehr via WLAN ( auch nicht mit einem WLAN-Dongle). IMHO läuft auch im Hintergrund nix mehr. Da muss ich mir erstmal wieder funktionierende Hardware "besorgen".
Update:
Nach kompletter Neuinstallation hat die oben beschriebene Vorgehensweise (diesmal mit pypy3.7) doch zum Erfolg geführt.
Vielen Dank für die Unterstützung!
P.S.: Leider wurde keine Geschwindigkeitsverbesserung in der App erzielt:
Nach kompletter Neuinstallation hat die oben beschriebene Vorgehensweise (diesmal mit pypy3.7) doch zum Erfolg geführt.
Vielen Dank für die Unterstützung!
P.S.: Leider wurde keine Geschwindigkeitsverbesserung in der App erzielt:
Ich habe >5 Miuten laufen lassen ohne das was sich geändert hat.
Würde sich der noch "arbeitende JIT" irgendwie anders "bemerkbar" machen? (Systemresourcen via HTop??)
Andersherum gefragt, worin ist pygame geschrieben? Sollte es in C geschrieben sein wäre dies Ergebnis IMHO erklärbar. Meine App verwendet hauptsächlich Drawing Funktionen aus pygame (wie line, circle, set_at, blit) und ansonsten trigomische Math Funktionen.
Würde sich der noch "arbeitende JIT" irgendwie anders "bemerkbar" machen? (Systemresourcen via HTop??)
Andersherum gefragt, worin ist pygame geschrieben? Sollte es in C geschrieben sein wäre dies Ergebnis IMHO erklärbar. Meine App verwendet hauptsächlich Drawing Funktionen aus pygame (wie line, circle, set_at, blit) und ansonsten trigomische Math Funktionen.