Я использую python для создания раздела «Избранное» сайта. Часть того, что я хочу сделать, это взять изображение, чтобы поместить рядом с их ссылкой. Таким образом, процесс будет заключаться в том, что пользователь вводит URL, а я беру скриншот этой страницы и показываю его рядом со ссылкой. Достаточно просто?
Я сейчас скачал pywebshot , и он отлично работает с моего терминала на моем локальном компьютере. Однако, когда я помещаю его на сервер, я получаю ошибку сегментации со следующей трассировкой:
/usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
./pywebshot.py:16: Warning: invalid (NULL) pointer instance
self.parent = gtk.Window(gtk.WINDOW_TOPLEVEL)
./pywebshot.py:16: Warning: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
self.parent = gtk.Window(gtk.WINDOW_TOPLEVEL)
./pywebshot.py:49: GtkWarning: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed
self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
self.parent.show_all()
Segmentation fault
Я знаю, что некоторые вещи не могут работать в pts-среде, но, честно говоря, сейчас это немного за мной. Если мне нужно как-то притвориться, что мое pts-соединение tty, я могу попробовать. Но на данный момент я даже не уверен, что происходит, и я признаю, что это немного над моей головой. Любая помощь будет принята с благодарностью.
Кроме того, если есть веб-сервис, который я могу передать URL-адрес и получить изображение, это будет работать так же хорошо. Я НЕ женат на идее pywebshot.
Я знаю, что на сервере, на котором я работаю, установлен X и установлены все необходимые модули Python.
Заранее спасибо.