【发布时间】:2021-09-26 05:18:15
【问题描述】:
我正在编写一个包含鼠标和键盘模块的测试程序,但是当我运行程序时它们会发生冲突。
如果适用,我会运行 Linux Mint 20.04 (Uma)。
这是我的代码:
import keyboard
import mouse
import time
time.sleep(2)
print("Finished part 1!")
x, y = mouse.get_position()
time.sleep(2)
print("Finished part 2!")
mouse.move(x, y)
time.sleep(2)
print("Finished part 3!")
keyboard.add_hotkey('ctrl+alt+c', mouse.move(x, y))
如果我正常运行这个程序,比如在我的终端中运行/bin/python3 /home/bhrz/Scripts/Python/Mouse/main.py,它会输出:
Finished part 1!
Finished part 2!
Finished part 3!
Traceback (most recent call last):
File "/home/bhrz/Scripts/Python/Mouse/main.py", line 18, in <module>
keyboard.add_hotkey('ctrl+alt+c', mouse.move(x, y))
File "/usr/local/lib/python3.8/dist-packages/keyboard/__init__.py", line 639, in add_hotkey
_listener.start_if_necessary()
File "/usr/local/lib/python3.8/dist-packages/keyboard/_generic.py", line 35, in start_if_necessary
self.init()
File "/usr/local/lib/python3.8/dist-packages/keyboard/__init__.py", line 196, in init
_os_keyboard.init()
File "/usr/local/lib/python3.8/dist-packages/keyboard/_nixkeyboard.py", line 113, in init
build_device()
File "/usr/local/lib/python3.8/dist-packages/keyboard/_nixkeyboard.py", line 109, in build_device
ensure_root()
File "/usr/local/lib/python3.8/dist-packages/keyboard/_nixcommon.py", line 174, in ensure_root
raise ImportError('You must be root to use this library on linux.')
ImportError: You must be root to use this library on linux.
当我尝试通过输入 sudo /bin/python3 /home/bhrz/Scripts/Python/Mouse/main.py 来解决该错误时,它会输出:
Traceback (most recent call last):
File "/home/bhrz/Scripts/Python/Mouse/main.py", line 2, in <module>
import mouse
ModuleNotFoundError: No module named 'mouse'
我一直在寻找答案,有些人会执行上述操作,如您所见,这导致了失败,另一个人说要执行 sudo su 然后运行脚本——这也失败了,输出与以上。
请帮我找出问题所在。
我无意中安装了 3 个版本的 python:2.7、3.8.10 和 3.9.5。我个人安装了 Python 3.9.5。我不使用 2.7,但它是使用 python-dev 安装的
在 Python 3.9.5 上,键盘模块无法识别,但在 Python 3.8.10 上却可以。
【问题讨论】:
标签: python python-3.x linux