首页 > 解决方案 > 无法让 pyperclip 在 python3 上使用复制和粘贴模块

问题描述

眼镜:


Error: pyperclip.copy('Hello world!')
  File "/usr/local/lib/python3.5/dist-packages/pyperclip/__init__.py", line 612, in lazy_load_stub_copy
    return copy(text)
  File "/usr/local/lib/python3.5/dist-packages/pyperclip/__init__.py", line 297, in __call__
    raise PyperclipException(EXCEPT_MSG)
pyperclip.PyperclipException:
    Pyperclip could not find a copy/paste mechanism for your system.
    For more information, please visit https://pyperclip.readthedocs.io/en/latest/introduction.html#not-implemented-error

我还尝试卸载并重新安装模块和剪贴板程序。我搜索了 2 个小时来寻找答案并使用了所有这些,但它们没有用。我承认我是个菜鸟,但我不应该这么难做到这一点。

标签: pythonlinuxraspberry-pi

解决方案


剪贴板是 GUI 的一部分。但是你没有图形用户界面。所以没有剪贴板可以复制和粘贴。pyperclip 没有可访问的剪贴板,因此无论您如何尝试访问它,您都会失败。

您可以通过在 shell 上运行它来非常轻松地进行测试:

xclip

如果它说类似Error: No display: (null),那是你的问题。


如果你认为你应该有一个 GUI,因为你已经设置了一些东西,例如,通过 ssh 将 X11 隧道连接到桌面机器上的 X 服务器,但你仍然收到来自 的错误xclip,那么问题是你'设置错误。最简单的检查是:

echo $DISPLAY

那是空的吗?那么您的会话对您的 X11 隧道一无所知。对于像 Super User 或 Unix 这样的站点来说,正确设置隧道确实是一个问题,而不是 Stack Overflow——一旦你得到修复,pyperclip你的脚本应该就可以开始工作了。


至于你能做些什么……嗯,这取决于你最初尝试使用pyperclip的原因。在无头系统上,没有地方可以复制数据,也没有地方可以粘贴数据,所以它不会特别有用。

例如,如果您尝试在同一台机器上的两个不同 Python 脚本之间共享数据,那么有比通过剪贴板传递数据更简单的方法——只需使用文件、管道、套接字等。甚至不需要具有复杂设置的第三方库。


推荐阅读