Próbuję zautomatyzować niektóre testy na moim RaspberryPi i używam myszy Python do wykonania kilku emulacji kliknięć. Na moim Debianie działa dobrze, ale jeśli chodzi o Raspbian, ten komunikat o błędzie nadal nie działa przy próbie zaimportowania pymouse:
pi@pi ~/ $ python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
from pymouse import PyMouse
File "/usr/local/lib/python2.7/dist-packages/pymouse/__init__.py", line 95, in <module>
from unix import PyMouse, PyMouseEvent
File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 53, in <module>
class PyMouseEvent(PyMouseEventMeta):
File "/usr/local/lib/python2.7/dist-packages/pymouse/unix.py", line 54, in PyMouseEvent
ctx = display2.record_create_context(
File "/usr/lib/pymodules/python2.7/Xlib/display.py", line 216, in __getattr__
raise AttributeError(attr)
AttributeError: record_create_context
Zrobiłem więc trochę badań i odkryłem, że mój problem może być spowodowany brakującym modułem zapisu w mojej instalacji x11. Utworzyłem już domyślny plik /etc/X11/xorg.conf i dodałem następujące linie:
Section "Module"
Load "record"
EndSection
Po ponownym uruchomieniu nie mogłem znaleźć żadnej różnicy. Chyba moduł nie jest do tej pory zainstalowany w Raspbian? Jak mogę to zainstalować?
Aktualizacja:
Znalazłem kogoś innego , kto napotkał podobny problem na fedorze i udokumentował fakt jego /usr/lib/xorg/modules/extensions/librecord.so
zaginięcia. To nie wydaje się być moim problemem, ponieważ plik istnieje. Próbowałem także użyć Xorg -configure
do utworzenia nowego xorg.conf i potem zrestartowałem moje Pi. Wciąż nie ma szczęścia. :-(
Oto kilka informacji, które mogą być pomocne:
pi@pi ~/ $ grep LoadModule /var/log/Xorg.0.log
[169058.900] (II) LoadModule: "fbturbo"
[169058.912] (II) LoadModule: "fbdev"
I:
pi@pi ~/ $ xdpyinfo name of display: :0.0 version number: 11.0 vendor string: AT&T Laboratories Cambridge vendor release number: 3332 [...] number of extensions: 7
BIG-REQUESTS
MIT-SHM
MIT-SUNDRY-NONSTANDARD
SHAPE
SYNC
XC-MISC
XTEST [...]
Ten post został migrowany z RaspberryPi.stackexchange.com .
Odpowiedzi:
Możesz to przetestować bez reszty pymouse, uruchamiając Python i uruchamiając
który powinien wydrukować
Wygląda na to, że to odpowiada
(to jest poniżej
number of extensions:
pełnej mocy wyjściowej).Jeśli ten ostatni się nie pojawi, twój serwer X go nie obsługuje, co jest bardzo niezwykłe, ponieważ stał się częścią serwera głównego w lipcu 2012 r. - co również wyjaśnia, dlaczego próba załadowania modułu nie działa; nie było modułu do załadowania od około czterech lat temu.
python-xlib
sam otrzymałrecord
wsparcie w wersji 0.14 w 2007 roku, więc jeszcze mniej prawdopodobne jest, że będzie nieaktualny ...źródło
http://mirrordirector-mb.raspbian.org/raspbian/pool/main/x/xmacro/
To jest rejestrator makr. Jest skompilowany, ale zakładam, że działa tak, jak mówi. Nie testowałem tego, ale wydaje się to o wiele łatwiejsze niż hakowanie za pomocą programu w języku Python, którego nie można ustalić, gdzie się psuje.
źródło