导入 pyautogui 抛出错误
Python 3.10.8 (main, Apr 9 2023, 15:38:43) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyautogui
Traceback (most recent call last):
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/xauth.py", line 43, in __init__
raw = open(filename, 'rb').read()
FileNotFoundError: [Errno 2] No such file or directory: '/home/juan/.Xauthority'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/juan/.local/lib/python3.10/site-packages/pyautogui/__init__.py", line 246, in <module>
import mouseinfo
File "/home/juan/.local/lib/python3.10/site-packages/mouseinfo/__init__.py", line 223, in <module>
_display = Display(os.environ['DISPLAY'])
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/display.py", line 80, in __init__
self.display = _BaseDisplay(display)
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/display.py", line 62, in __init__
display.Display.__init__(*(self, ) + args, **keys)
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/protocol/display.py", line 60, in __init__
auth_name, auth_data = connect.get_auth(self.socket,
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/support/connect.py", line 91, in get_auth
return mod.get_auth(sock, dname, host, dno)
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/support/unix_connect.py", line 103, in new_get_auth
au = xauth.Xauthority()
File "/home/juan/.local/lib/python3.10/site-packages/Xlib/xauth.py", line 45, in __init__
raise error.XauthError('~/.Xauthority: %s' % err)
Xlib.error.XauthError: ~/.Xauthority: [Errno 2] No such file or directory: '/home/juan/.Xauthority'
您可以尝试使用以下命令卸载 pyautogui:
pip uninstall pyautogui
,
然后使用以下命令安装它:python3 -m pip install pyautogui
,
该命令位于 pyautogui 的文档中。
希望对你有帮助。
您遇到的错误与 Xlib 库有关,PyAutoGUI 使用该库进行屏幕交互。该库似乎无法在您的主目录中找到 .Xauthority 文件。
.Xauthority 文件由 X 服务器用来存储身份验证数据。它通常位于用户的主目录中,但在您的情况下,它似乎丢失了。
要解决此问题,您可以尝试以下步骤:
ls -la ~/.Xauthority
如果该文件不存在,您可能需要重新创建它。
touch ~/.Xauthority
chmod 600 ~/.Xauthority
重新启动计算机以确保更改生效。
尝试再次导入 pyautogui。
希望这有帮助!
昨天我已经成功克服了 Xauthority 遇到的所有问题。 看来您需要创建一个名为 Xauthority 的目录。 但是您的问题缺少重要信息,您如何尝试运行该程序?从哪里来?来自哪个操作系统? 是码头工人吗?
这是我写的一个关于如何设法对 python GUI 进行 dockerize 的存储库: https://github.com/DorinBe/PySurfs
查看自述文件,我很乐意回答任何问题。