如何导入 pyautogui 而不会抛出错误

问题描述 投票:0回答:3

导入 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'
python-3.x pyautogui
3个回答
0
投票

您可以尝试使用以下命令卸载 pyautogui:

pip uninstall pyautogui
, 然后使用以下命令安装它:
python3 -m pip install pyautogui
, 该命令位于 pyautogui 的文档中。 希望对你有帮助。


0
投票

您遇到的错误与 Xlib 库有关,PyAutoGUI 使用该库进行屏幕交互。该库似乎无法在您的主目录中找到 .Xauthority 文件。

.Xauthority 文件由 X 服务器用来存储身份验证数据。它通常位于用户的主目录中,但在您的情况下,它似乎丢失了。

要解决此问题,您可以尝试以下步骤:

  1. 检查您的主目录中是否存在 .Xauthority 文件。打开终端并运行以下命令:
ls -la ~/.Xauthority

如果该文件不存在,您可能需要重新创建它。

  1. 通过在终端中运行以下命令来重新创建 .Xauthority 文件:
touch ~/.Xauthority
  1. 更改 .Xauthority 文件的权限以确保其可访问。运行以下命令:
chmod 600 ~/.Xauthority
  1. 重新启动计算机以确保更改生效。

  2. 尝试再次导入 pyautogui。

希望这有帮助!


0
投票

昨天我已经成功克服了 Xauthority 遇到的所有问题。 看来您需要创建一个名为 Xauthority 的目录。 但是您的问题缺少重要信息,您如何尝试运行该程序?从哪里来?来自哪个操作系统? 是码头工人吗?

这是我写的一个关于如何设法对 python GUI 进行 dockerize 的存储库: https://github.com/DorinBe/PySurfs

查看自述文件,我很乐意回答任何问题。

© www.soinside.com 2019 - 2024. All rights reserved.