新しいモジュールをインストールしましたが、依存関係の1つがまだインストールされていないように見えます。このモジュールはXlib.displayと呼ばれます。私が受け取ったエラーメッセージは次のとおりです。
from Xlib.display import Display
ImportError: No module named Xlib.display
明らかに不足しているこのモジュールはどこにありますか?グーグルはリードをもたらさなかった。
「編集:私はすでにそのsourceforgeモジュールをダウンロードしていますが、それでも同じ結果が得られます。
してみてください。
これによりXlibがインストールされますSudo apt-get install python-xlib
その後、あなたはチェックすることができます
>>from Xlib.display import Display
マウスイベントを制御およびキャプチャする場合にPyMouseをインストールするには、次を使用してください。
Sudo easy_install https://github.com/pepijndevos/PyMouse/zipball/master
以下は私のために働いた!
pip install python3_xlib
また、これを必要とする自動化のためにpyuserinputを使用しました。
私は同じ問題を抱えていましたが、上記の解決策は私にはうまくいきませんでした。 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
それからそれは働いた。
Debianシステムでは python-xlib をインストールします。
他のシステムでは、パッケージに同じ名前が付いている可能性が高くなります。
XlibライブラリはPython 3では機能しないと思います。
ソース :
要件
Python XライブラリにはPython 1.5.2以降が必要です。Python 1.5でさまざまな範囲でテストされています。 2および2.0から2.6。
正直なところ、これが機能する理由を説明することはできません...しかし、これが私のために機能させるコマンドです。
Sudo apt-get install python3-xlib
Xlibは明らかにpython 3.xで動作しないため、動作しないはずですが、すべてが正常にインストールされているので、文句はありません!
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')
環境:
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
私は同じ答えを探していましたが、もう少し掘り下げた後、 XCB(XプロトコルC言語バインディング) は一般的にXlibを廃止するようです。 XCBのウェブサイトから:
XプロトコルC言語バインディング(XCB)は、Xlibに代わるものであり、フットプリントが小さく、待ち時間を隠し、プロトコルに直接アクセスし、スレッドのサポートを改善し、拡張性を備えています。
幸い、pythonバインディングはpython-xpyb in aptまたは xpyb on PyPi として利用できます。私のプロジェクトではそれほど進んでいないので、これがPython3で機能するかどうかはテストしていませんが、これがおそらく行く方法であり、必要に応じてPython3サポートのバグを報告する適切な場所です。