Gtk-ERROR in Python - python

I tried to install this tool called pycontact from Pycontact today at my Uni's server, but after installation, it's fetching me this error:
/usr/local/lib/python2.7/dist-packages/matplotlib-2.2.0rc1-py2.7-linux-x86_64.egg/matplotlib/backends/backend_gtk3.py:32: DeprecationWarning: Gdk.Cursor.new is deprecated
cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
(pycontact:3296): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/breakpoint trap (core dumped)
It seeems like there is an issue with Nvidia's graphics card or sort of. Is there any way we can sort out this problem

It sounds like the software is trying to mix Gtk2 and Gtk3 which is not supported. I would contact the developers.

I fail to see the relation between pycontact and your problem. Pycontact uses the Qt toolkit (version 5), not GTK+.
The problem is within your mathplotlib script, which uses GTK+ 3 I suppose, since it's named backend_gtk3.py. Somewhere, in the same process, GTK+ components are used and this is not supported as sais in the error message you received:
Using GTK+ 2.x and GTK+ 3 in the same process is not supported

Related

AttributeError: module 'curses' has no attribute 'A_ITALIC'

For some reason, I cannot for the life of me figure out why curses won't let me use the A_ITALIC attribute.
All of the other attributes seem to work with no issues, but italic specifically triggers an error message.
I'm running Python 3.10.4, here's some sample code:
import curses
def main(stdscr):
stdscr.addstr(0, 0, "This should be italicized!", curses.A_ITALIC)
stdscr.getch()
if __name__ == '__main__':
curses.wrapper(main)
Python on MacOS could support A_ITALIC if it is built using a recent version of ncurses (since 2013, e.g., ncurses 6.x). The system version of ncurses for MacOS is far too old for that.
The same applies to Python on other platforms, e.g., NetBSD and legacy Unix systems.
With correspondingly recent versions of Python, you can check which version of ncurses using the version or the ncurses_version function. However, even with a recent ncurses version, there's always the possibility of a bug in Python which interferes with providing that feature.
Python's curses wrapper (see source) knows about the feature because its name is compiled-in when Python is built:
/* ncurses extension */
#ifdef A_ITALIC
SetDictInt("A_ITALIC", A_ITALIC);
#endif
Changing the underlying ncurses would not affect that (unless Python is rebuilt).
From the curses documentation:
The exact constants available are system dependent.
I tried it in Python 3.9.12 on macOS, and it didn't work, but it did work using Python 3.10.4 in a Docker container.

GTK error when using opencv with python in ubuntu

I am trying to follow a tutorial found here to calibrate a camera via a chessboard image, using python and opencv in Ubuntu 18.04. Everything goes well until the program gets to the cv2.imshow() function, at which point I get the following error:
Gtk-ERROR **: 19:31:06.612: GTK+ 2.x symbols detected. Using GTK+ 2.x
and GTK+ 3 in the same process is not supported Trace/breakpoint trap
(core dumped)
I can only get around this error by commenting out the function. As I am quite new to programming, I don't know how to troubleshoot this further. Searching for this error online shows it being encountered in scenarios different from mine. I would really appreciate any help in resolving this. Please let me know if more information is needed.
The error message is telling you that you're trying to load two different major versions of GTK in the same process—either because you're importing the Gtk module like:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
or because the OpenCV Python module is trying to side-load a GTK module by itself. Since OpenCV seems to use Qt, it might be a case of a GTK module being loaded in your environment to match the system's style.

'TP_POOL support not implemented yet' error on visual studio 2013

I'm trying to setup plaso for windows but is stuck at the Libyal and Python-bindings portion, based on this website
I'm building it on visual studio 2013. The first error is always:
error C1189:# error: TP_POOL support not implemented yet
According to msdn for VS2013, The error C1189 is raised when the programmer explicitely specify the error directive. Which means there is a path leading to
#error TP_POOL support not implemented yet
The error message is explicit enough : TP_POOL binding is not implemented yet. You have to remove the part which try to use this feature.
The tutorial step differs with versions of Visual Studio, which means it may depend be version dependent. Try building with vs2010 if you can or use a version of the library for vs2013 if any.

SURF not bound in opencv-python?

I'm getting this error when trying to use cv.ExtractSURF:
cv2.error: OpenCV was built without SURF support
I found the solution for c++ in this topic:
OpenCV SURF function is not implemented
but how can I use it in python ?
---Edit---
When I try to run the example find_obj.py which uses cv2.SURF(800) I get the following error:
AttributeError: 'module' object has no attribute 'SURF'
It seems that some functions are moved to "nonfree" module and that module is removed from the latest OpenCV package on FC18. Until this will be resolved, I made downgrade OpenCV library on my 64bit FC18 from version 2.4.3 to version 2.3.1. With downgraded library, all my python code started to work as it worked on FC17. Here is link to my post where I have described complete "downgrade" procedure:
http://www.redips.net/linux/downgrade-opencv-fedora18/
OK this happens because I use Fedora 18 (and I installed it with yum):
http://forums.fedoraforum.org/showthread.php?t=287847

Glade catalog picks wrong version of glib module

On Fedora 16, I have a catalog library of widgets that I wish to load into glade. Normally, this should be easy but since I have different versions of glib and gobject installed, the following error occurs:
; GLADE_CATALOG_PATH=./Components GLADE_MODULE_PATH=. glade fubar.glade
(glade:25069): GladeUI-PYTHON-WARNING **: Error initializing Python interpreter: could not import pygobject
(glade:25069): GladeUI-PYTHON-WARNING **: Unable to load pygobject module >= 2.90.0, please make sure it is in python's path (sys.path). (use PYTHONPATH env variable to specify non default paths)
could not import gobject (version mismatch, 2.90.0 is required, found 3.0.3)
zsh: segmentation fault (core dumped) GLADE_CATALOG_PATH=./Components GLADE_MODULE_PATH=. glade
Is there a way to force a version of gobject? Currently, I have this installed:
; yum list installed | grep pygobject
pygobject2.x86_64 2.28.6-2.fc16 #anaconda-0
pygobject2-codegen.x86_64 2.28.6-2.fc16 #fedora
pygobject2-devel.x86_64 2.28.6-2.fc16 #fedora
pygobject2-doc.x86_64 2.28.6-2.fc16 #fedora
pygobject3.x86_64 3.0.3-1.fc16 #updates
I ran into this issue as well. The problem is that the version check is wrong, pyobject3 is just fine for the glade Python plugin. Patch is here:
https://bugzilla.gnome.org/show_bug.cgi?id=706304. I don't know any fix other than recompiling glade, though.
This issue arises when using 3.10 (gtk3) instead of 3.8 (gtk2).

Categories