web-dev-qa-db-ja.com

python-Xlibのインポートに関する問題

新しいモジュールをインストールしましたが、依存関係の1つがまだインストールされていないように見えます。このモジュールはXlib.displayと呼ばれます。私が受け取ったエラーメッセージは次のとおりです。

from Xlib.display import Display
ImportError: No module named Xlib.display

明らかに不足しているこのモジュールはどこにありますか?グーグルはリードをもたらさなかった。

「編集:私はすでにそのsourceforgeモジュールをダウンロードしていますが、それでも同じ結果が得られます。

16
Alan

してみてください。

これによりXlibがインストールされますSudo apt-get install python-xlib

その後、あなたはチェックすることができます

>>from Xlib.display import Display

マウスイベントを制御およびキャプチャする場合にPyMouseをインストールするには、次を使用してください。

Sudo easy_install https://github.com/pepijndevos/PyMouse/zipball/master

19
user2698178

以下は私のために働いた!

pip install python3_xlib

また、これを必要とする自動化のためにpyuserinputを使用しました。

13
Siva S

私は同じ問題を抱えていましたが、上記の解決策は私にはうまくいきませんでした。 anacondaパッケージを介してpythonをインストールしたので、使用したとき:

Sudo apt-get install  python-xlib

Xlibはまだpython2では検出できませんでした。私の場合の解決策は、以下を使用することでした。

anaconda search -t conda python-xlib

次に、anacondaapiからパッケージを見つけます。私のものはerik/python-xlibでした。以下を使用してインストールします。

conda install --channel https://conda.anaconda.org/erik python-xlib

それからそれは働いた。

5
user3915706

Debianシステムでは python-xlib をインストールします。

他のシステムでは、パッケージに同じ名前が付いている可能性が高くなります。

2

XlibライブラリはPython 3では機能しないと思います。

ソース

要件

Python XライブラリにはPython 1.5.2以降が必要です。Python 1.5でさまざまな範囲でテストされています。 2および2.0から2.6。

1
0xtobit

正直なところ、これが機能する理由を説明することはできません...しかし、これが私のために機能させるコマンドです。

Sudo apt-get install python3-xlib

Xlibは明らかにpython 3.xで動作しないため、動作しないはずですが、すべてが正常にインストールされているので、文句はありません!

0
Conrad Selig

シナリオ:

pyautoguiパッケージのスクリーンショット機能を使おうとしていました。このエラーが発生していました:

Traceback (most recent call last):
  File "test_screenshot.py", line 1, in <module>
    import pyautogui
  File ".../miniconda3/envs/myenv/lib/python3.7/site-packages/pyautogui/__init__.py", line 152, in <module>
    from . import _pyautogui_x11 as platformModule
  File ".../miniconda3/envs/myenv/lib/python3.7/site-packages/pyautogui/_pyautogui_x11.py", line 7, in <module>
    from Xlib.display import Display
ModuleNotFoundError: No module named 'Xlib'

Pythonコード(test_screenshot.py):

import pyautogui
img = pyautogui.screenshot('test.png')

環境:

  • Ubuntu 16.04(LTS)
  • コンダ4.5.11
  • Python 3.7(ミニコンダ)
  • requirements.txt:

    certifi==2019.3.9
    Pillow==5.4.1
    PyAutoGUI==0.9.42
    PyGetWindow==0.0.4
    PyMsgBox==1.0.6
    PyRect==0.1.4
    PyScreeze==0.1.20
    PyTweening==1.0.3
    

解決:

以下を使用して、conda環境にpython-xlibパッケージをインストールしました。

pip install python-xlib

これで、test_screenshot.pyがエラーなしで実行されます。

更新されたrequirements.txt

certifi==2019.3.9
Pillow==5.4.1
PyAutoGUI==0.9.42
PyGetWindow==0.0.4
PyMsgBox==1.0.6
PyRect==0.1.4
PyScreeze==0.1.20
python-xlib==0.25
PyTweening==1.0.3
six==1.12.0
0
arsho

私は同じ答えを探していましたが、もう少し掘り下げた後、 XCB(XプロトコルC言語バインディング) は一般的にXlibを廃止するようです。 XCBのウェブサイトから:

XプロトコルC言語バインディング(XCB)は、Xlibに代わるものであり、フットプリントが小さく、待ち時間を隠し、プロトコルに直接アクセスし、スレッドのサポートを改善し、拡張性を備えています。

幸い、pythonバインディングはpython-xpyb in aptまたは xpyb on PyPi として利用できます。私のプロジェクトではそれほど進んでいないので、これがPython3で機能するかどうかはテストしていませんが、これがおそらく行く方法であり、必要に応じてPython3サポートのバグを報告する適切な場所です。

0
andy.holmes