PsychoPy auf Linux

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sharih
User
Beiträge: 4
Registriert: Dienstag 1. März 2022, 16:46

Hallo,

ich habe leider (noch) keine Ahnung von Python und bin daher auf ziemlich viel Hilfe angewiesen....
Ich habe auf meinem Notebook mit Linux Mint Mate 19.3 gerade PsychoPy installiert und eine Testdatei erstellt. Zuerst erschien beim Aufrufen dieser Datei in PsychoPy die Meldung

Code: Alles auswählen

pyo version 0.8.8 (uses single precision)
Traceback (most recent call last):
  File "/home/name/Schreibtisch/test_lastrun.py", line 14, in <module>
    from psychopy import locale_setup, sound, gui, visual, core, data, event, logging
  File "/usr/lib/python2.7/dist-packages/psychopy/visual/__init__.py", line 17, in <module>
    from .window import Window, getMsPerFrame, openWindows
  File "/usr/lib/python2.7/dist-packages/psychopy/visual/window.py", line 57, in <module>
    from psychopy import core, platform_specific, logging, prefs, monitors, event
  File "/usr/lib/python2.7/dist-packages/psychopy/monitors/__init__.py", line 5, in <module>
    from .calibTools import *
  File "/usr/lib/python2.7/dist-packages/psychopy/monitors/calibTools.py", line 34, in <module>
    import json_tricks  # allows json to dump/load np.arrays and dates
ImportError: No module named json_tricks
Nach viel Gesuche konnte ich dann Json-tricks installieren über pip und diese Meldung taucht auch nicht mehr auf. Dafür habe ich jetzt eine andere:

Code: Alles auswählen

pyo version 0.8.8 (uses single precision)
Traceback (most recent call last):
  File "/home/name/Schreibtisch/test_lastrun.py", line 31, in <module>
    dlg = gui.DlgFromDict(dictionary=expInfo, title=expName)
  File "/usr/lib/python2.7/dist-packages/psychopy/gui/wxgui.py", line 248, in __init__
    Dlg.__init__(self, title)
  File "/usr/lib/python2.7/dist-packages/psychopy/gui/wxgui.py", line 64, in __init__
    wx.Dialog.__init__(self, None, -1, title, pos, size, style)
TypeError: Dialog(): arguments did not match any overloaded call:
  overload 1: too many arguments
  overload 2: argument 4 has unexpected type 'NoneType'
Und schon wieder habe ich keine Ahnung, was ich jetzt machen muss.
Es wäre sehr schön, wenn mir da jemand helfen könnte!

Schon mal vielen Dank,
Sharih
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist Python 2.7, und damit schon seit zwei Jahren nicht mehr unterstuetzt. Damit wuerde ich das auch nicht mehr benutzen, sondern das ganze mit Python 3 installieren. Und schauen, ob das besser geht. Wo immer du in der Anleitung pip siehst, muss es wahlweise pip3 or python3 -mpip sein.
Sharih
User
Beiträge: 4
Registriert: Dienstag 1. März 2022, 16:46

Okay, dann werfe ich das also runter oder kann ich es sozusagen nachinstallieren?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das solltest du runterwerfen, wobei verschiedene Python Versionen grundsaetzlich parallel laufen. Aber es gibt keinen Grund fuer den alten Kram, und es muss eh neu installiert werden, eben weil die sich nicht beeinflussen. Und besser du schmeisst es weg, als das dir da doch aus versehen was in die Quere kommt.
Sharih
User
Beiträge: 4
Registriert: Dienstag 1. März 2022, 16:46

Gut, dann versuche ich mein Glück.
Für die Linux-Installation sollte ich ja laut https://www.psychopy.org/download.html#linux auch ein wxPython wheel installieren. Brauche ich das wirklich - kennst du dich damit aus?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Da wx augenscheinlich die grafische Oberflaeche darstellt, denke ich schon, dass du das brauchst. Weitergehend kenne ich mich damit aber nicht aus, vor allem nicht, warum das so eine Extrawurst ist - normalerweise reicht pip.

Ich kann dir auch empfehlen, dich bei dem Projekt selbst https://discourse.psychopy.org/ zu registrieren, und deine Fragen da zu stellen. Denn hier kennt das tendentiell keiner. Hier geht's um Python lernen, du willst ja aber eigentlich nur eine Anwendung haben, die zufaellig in Python geschrieben ist.
Sharih
User
Beiträge: 4
Registriert: Dienstag 1. März 2022, 16:46

Danke für deine Hilfe und den Link! Es scheint halt bei Linux alles etwas komplizierter zu sein. Aber ich werde es dort mal versuchen.
LukeNukem
User
Beiträge: 232
Registriert: Mittwoch 19. Mai 2021, 03:40

Sharih hat geschrieben: Dienstag 1. März 2022, 18:05 Danke für deine Hilfe und den Link! Es scheint halt bei Linux alles etwas komplizierter zu sein. Aber ich werde es dort mal versuchen.
Es ist nicht komplizierter, aber anders... wenn ich das richtig sehe, beinhaltet mein Kubuntu bereits ein Paket namens "psychopy". Da Linux Mint auf Ubuntu aufbaut, würde ich mal vermuten, daß es dieses Paket auch unter Linux Mint gibt, und Du es einfach über Deinen normalen Paketmanager installieren kannst, wobei dann auch die Abhängigkeiten wie wx etc automatisch aufgelöst und installiert werden sollten. Es ist insbesondere für Linux-Neulinge meistens keine gute Idee, etwas am Paketmanager vorbei zu installieren.

Je nach dem Desktop, den Du benutzt, bringt dieser bereits ein eigenes Programm zur Steuerung des Paketmanagers mit, keine Ahnung, wie der bei Linux Mint heißt. Was aber auf alle Fälle gehen sollte, wäre, das einfach über die Kommandozeile zu machen, mit den Befehlen (das $-Zeichen steht hier für den Prompt):

Code: Alles auswählen

$ sudo apt-get update
$ sudo apt-get install -y psychopy
Der erste Befehl lädt die aktuellen Paketlisten aus den Software-Repositories, der zweite installiert das Paket "psychopy".

Für die Linux-Grundlagen empfehle ich wärmstens das Standardwerk "Linux - Installation, Konfiguration, Anwendung" von Dr. Michael Kofler. Ansonsten findest Du online sehr gute Dokumentationen, die Du sehr gut auch auf Deinem Ubuntu- und damit Debian-basierten Linux Mint nutzen kannst, nämlich das "Debian GNU/Linux Anwenderhandbuch" [1] und das "Debian GNU/Linux Administrationshandbuch" [2].

Für die Grundlagen von Python empfehle ich das offizielle Python-Tutorial, das Du auf Englisch unter [3] und -- leider in einer etwas älteren Version, aber für den Einstieg sollte das reichen -- hier [4] auf Deutsch.

Herzlich willkommen, viel Spaß und viel Erfolg in der wunderbaren Welt von Linux und Python!

[1] https://debiananwenderhandbuch.de/
[2] https://debian-handbook.info/browse/de-DE/stable/
[3] https://docs.python.org/3/tutorial/
[4] https://py-tutorial-de.readthedocs.io/de/python-3.3/
Antworten