gpt4 book ai didi

python - 尝试访问从 Windows 复制的数据时,运行 Ubuntu 18 LTS 的 WSL2 上出现 Pyperclip 错误

转载 作者:行者123 更新时间:2023-12-04 18:35:54 38 4
gpt4 key购买 nike

我在 Windows 10 build 20190 上通过 Windows Terminal Preview (1.2.2234.0) 在 WSL2 中运行的 Ubuntu 18.04 上使用 IPython 7.16.1 (Python 3.7.7)(尽管问题不限于 IPython,它与外壳本身有关) .我正在尝试使用 pandas.read_clipboard() 在从 Windows 复制的数据上,即在 WSL 之外。但是,收到以下错误:

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
我确实理解这是由于 WSL 不支持显示,但是,由于我可以将粘贴数据复制到 WSL 和 Windows,因此应该有一种机制可以访问 Windows 剪贴板。有针对这个的解决方法吗?
我看过 xclip , xsel , QTpy根据建议 here , 和 here ,没有帮助。
完整的堆栈跟踪:
In [1]: import pandas as pd
In [2]: df = pd.read_clipboard()
---------------------------------------------------------------------------
PyperclipException Traceback (most recent call last)
<ipython-input-2-861af318b71b> in <module>
----> 1 df = pd.read_clipboard()

~/anaconda3/envs/tensorflow_gpu/lib/python3.7/site-packages/pandas/io/clipboards.py in read_clipboard(sep, **kwargs)
36 from pandas.io.parsers import read_csv
37
---> 38 text = clipboard_get()
39
40 # Try to decode (if needed, as "text" might already be a string here).

~/anaconda3/envs/tensorflow_gpu/lib/python3.7/site-packages/pandas/io/clipboard/__init__.py in lazy_load_stub_paste()
648 global copy, paste
649 copy, paste = determine_clipboard()
--> 650 return paste()
651
652

~/anaconda3/envs/tensorflow_gpu/lib/python3.7/site-packages/pandas/io/clipboard/__init__.py in __call__(self, *args, **kwargs)
285 class ClipboardUnavailable:
286 def __call__(self, *args, **kwargs):
--> 287 raise PyperclipException(EXCEPT_MSG)
288
289 def __bool__(self) -> bool:

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

最佳答案

我注意到这个问题与以下代码块有关:pandas/io/clipboard/init.py#L523-L526
如果我编辑 if "Microsoft" in f.read(): 行,并将“Microsoft”替换为“microsoft”(小写“m”),然后剪贴板功能对我有用。
这不是一个好的长期解决方案,但绝对是一个简单的补丁,直到 pandas 团队整合它。

关于python - 尝试访问从 Windows 复制的数据时,运行 Ubuntu 18 LTS 的 WSL2 上出现 Pyperclip 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63539268/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com