我安装了一个新模块,似乎其中一个依赖项尚未安装。这个模块叫做Xlib.display。 以下是我收到的错误信息:
from Xlib.display import Display
ImportError: No module named Xlib.display
我在哪里可以找到这个我显然缺少的模块?谷歌没有给出任何线索。
"编辑:我已经下载了那个SourceForge模块,但我仍然得到相同的结果。
我安装了一个新模块,似乎其中一个依赖项尚未安装。这个模块叫做Xlib.display。 以下是我收到的错误信息:
from Xlib.display import Display
ImportError: No module named Xlib.display
我在哪里可以找到这个我显然缺少的模块?谷歌没有给出任何线索。
"编辑:我已经下载了那个SourceForge模块,但我仍然得到相同的结果。
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进行自动化,它需要这个。
pip install python-xlib
。太好了! - kchomski我有同样的问题,但上面的解决方案对我没有用。因为我是通过anaconda包安装python的,所以当我使用以下命令时:
sudo apt-get install python-xlib
Xlib 对于 Python2 仍然无法检测到。我的解决方案是使用:
anaconda search -t conda python-xlib
然后从anaconda api中找到相应的包,我使用的是 erik/python-xlib。使用以下命令进行安装:
conda install --channel https://conda.anaconda.org/erik python-xlib
然后它工作了。
需求
Python X库需要Python 1.5.2或更高版本。它已经在Python 1.5.2和2.0到2.6的各种程度上进行了测试。
我真的无法解释为什么它有效...但是这是让我成功的命令。
sudo apt-get install python3-xlib
应该不起作用,因为xlib显然与Python 3.x不兼容,但是一切都安装好了,所以我不会抱怨!
我曾经寻找过同样的答案,但进一步了解后发现XCB (X protocol C-language Binding)将会普遍取代Xlib。来自XCB网站的信息如下:
基于C语言的X协议绑定(XCB)是Xlib的替代品,具有小巧的特点,隐藏延迟、直接访问协议、改进的线程支持和可扩展性。
幸运的是,有python绑定可以使用,如在apt中使用的 python-xpyb 或 xpyb on PyPi。我还没有在我的项目中测试这是否适用于Python3,但这可能是正确的方法,如果需要的话也是报告任何Python3支持问题的正确位置。
我试图使用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