私はRaspberryPiでいくつかのテストを自動化し、Pythonのpymouseを使ってシミュレートされたクリックを実行したいと思います。私のDebianではうまくいきますが、Raspbianの場合は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
そこで私はいくつかの調査を行った結果、x11のインストールでロギングモジュールが欠落して問題が発生する可能性があることを発見しました。デフォルトの/etc/X11/xorg.confを作成し、次の行を追加しました。
Section "Module"
Load "record"
EndSection
再起動後、何の違いも見つかりません。まだこのモジュールがRaspbianにインストールされていないとしますか?どのようにインストールしますか?
修正する:
私が見つけた他の人、Fedoraで同様の問題が発生し、/usr/lib/xorg/modules/extensions/librecord.so
自分の問題が欠落しているという事実を文書化しました。ファイルが存在するので、これは私の問題ではないようです。また、Xorg -configure
新しいxorg.confを作成した後、Piを再起動してみました。まだ運がありません。 :-(
以下は、役立つ可能性がある追加情報です。
pi@pi ~/ $ grep LoadModule /var/log/Xorg.0.log
[169058.900] (II) LoadModule: "fbturbo"
[169058.912] (II) LoadModule: "fbdev"
そして:
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 [...]
この投稿は以下から移動されました。RaspberryPi.stackexchange.com。
答え1
Pythonを起動して実行して、残りのpymouseなしでテストできます。
from Xlib.display import Display
display = Display()
display.record_create_context
どちらを印刷する必要がありますか?
<bound method Display.create_context of <Xlib.display.Display instance at ...>>
に該当するようです
$ xdpyinfo | grep -i record
RECORD
(number of extensions:
全出力から)
後者が表示されない場合は、Xサーバーはそれをサポートしていません。2012年7月コアサーバー編入- これはまた、モジュールをロードしようとする試みが機能しない理由を説明します。約4年前からロードするモジュールはありませんでした。
python-xlib
それ自体はrecord
2007年バージョン0.14でサポートされていたので、時代遅れになる可能性は少なくなります。
答え2
http://mirrordirector-mb.raspbian.org/raspbian/pool/main/x/xmacro/
これはマクロレコーダーです。コンパイルされますが、言った通りに動作すると思います。私はテストしていませんが、何が問題なのかわからないPythonプログラムでハッキングするよりはるかに簡単です。