问题
I use python 2.7. I installed pyperclip using sudo pip install pyperclip
and it was installed successfully.
Every time I use the following simple code
import pyperclip
pyperclip.copy('Hello World')
message=pyperclip.paste()
print (message)
I get the following error:
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57:
GtkWarning: could not open display warnings.warn(str(e),
_gtk.Warning) /usr/local/lib/python2.7/dist-packages/pyperclip/__init__.py:102:
GtkWarning: IA__gtk_clipboard_get_for_display: assertion 'display !=
NULL' failed cb = gtk.Clipboard() Traceback (most recent call last):
File "first.py", line 401, in <module>
pyperclip.copy('Hello World') File "/usr/local/lib/python2.7/dist-packages/pyperclip/__init__.py", line
102, in _copyGtk
cb = gtk.Clipboard() RuntimeError: could not create GtkClipboard object
回答1:
It always helps to read the documentation.
On Windows, no additional modules are needed. On Mac, the module uses pbcopy and pbpaste, which should come with the os. On Linux, install xclip or xsel via package manager. For example, in Debian: sudo apt-get install xclip
Otherwise on Linux, you will need the gtk or PyQt4 modules installed.
gtk and PyQt4 modules are not available for Python 3, and this module does not work with PyGObject yet.
I can see that you're using a unix based operating system from your post. So all you need to do at your terminal is sudo apt install xclip
and then the gtk and PyQt4 modules via pip(since you use python 2).
回答2:
When using Python3 on a Debian based system, please install xclip and pyqt4 as the documentation states.
sudo apt-get install xclip python3-pyqt4
Then you can easily copy DataFrames like this:
import pandas as pd
import numpy as np
import sys
dates = pd.date_range('20130101',periods=6)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
df.to_clipboard()
Pasting works with Google Sheets or Excel.
来源:https://stackoverflow.com/questions/32163481/pyperclip-is-giving-an-error