problems importing from /usr/lib/pyshared/


H

Harold

Dear all,

I recently upgraded my system from ubuntu 11.4 to 12.4 and since run into an issue when trying to import several packages in python2.7, e.g.

[email protected]:~$ python -c 'import gtk'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 30,in <module>
import gobject as _gobject
File "/usr/share/pyshared/gobject/__init__.py", line 26, in <module>
from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
File "/usr/share/pyshared/glib/__init__.py", line 22, in <module>
from glib._glib import *
ImportError: No module named _glib

the same, for example, with pysvn:

[email protected]:~$ python -c 'import pysvn'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/share/pyshared/pysvn/__init__.py", line 99, in <module>
import _pysvn_2_7
ImportError: No module named _pysvn_2_7

After playing around a bit, I realized that I can import said packages without problems, if I delete /usr/lib/pyshared from the python path:
import sys
sys.path ['', '/usr/share/pyshared', '/home/harold', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
del sys.path[1]
import gtk
import pysvn

Is /usr/lib/pyshared supposed to be in the python path? If not, how can I ensure that it is not included? Where is PYTHONPATH initialized by default, anyway?

Thanks, harold.
 
Ad

Advertisements

D

Dieter Maurer

Harold said:
I recently upgraded my system from ubuntu 11.4 to 12.4 and since run into an issue when trying to import several packages in python2.7, e.g.

[email protected]:~$ python -c 'import gtk'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 30, in <module>
import gobject as _gobject
File "/usr/share/pyshared/gobject/__init__.py", line 26, in <module>
from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
File "/usr/share/pyshared/glib/__init__.py", line 22, in <module>
from glib._glib import *
ImportError: No module named _glib

Ubuntu 12 has introduced important changes with respect to "glib" (and
depending packages). In fact, there are now two quite incompatible
implementations - the old "static" one and a new "dynamic" one.
It looks as if in your case, old and new implementations were mixed.

I had a similar problem when upgrading to "Ubuntu 12.4". In my case,
it turned out that my (custom) "PYTHONPATH" setting was responsible for
getting into the incompatibility.


The new way to use "gtk" is via the "gi" (probable "gnome interface")
module. It looks like:

from gi.repository import Gtk,GdkPixbuf,GObject,Pango,Gdk,Gio
 
H

Harold

Thank you Dieter,
Ubuntu 12 has introduced important changes with respect to "glib" (and
depending packages). In fact, there are now two quite incompatible
implementations - the old "static" one and a new "dynamic" one.
It looks as if in your case, old and new implementations were mixed.

I had a similar problem when upgrading to "Ubuntu 12.4". In my case,
it turned out that my (custom) "PYTHONPATH" setting was responsible for
getting into the incompatibility.

The new way to use "gtk" is via the "gi" (probable "gnome interface")
module. It looks like:

from gi.repository import Gtk,GdkPixbuf,GObject,Pango,Gdk,Gio

I will investigate this gi module. As for my import problem, it turned out that it was my own fault: following some recommendation on the web, I had added /usr/share/pyshared to the python path in ~/.profile and forgot to logout and in again after undoing this change. Everything works fine again, and I am ready to explore the new modules.
 
Ad

Advertisements

H

Harold

Thank you Dieter,
Ubuntu 12 has introduced important changes with respect to "glib" (and
depending packages). In fact, there are now two quite incompatible
implementations - the old "static" one and a new "dynamic" one.
It looks as if in your case, old and new implementations were mixed.

I had a similar problem when upgrading to "Ubuntu 12.4". In my case,
it turned out that my (custom) "PYTHONPATH" setting was responsible for
getting into the incompatibility.

The new way to use "gtk" is via the "gi" (probable "gnome interface")
module. It looks like:

from gi.repository import Gtk,GdkPixbuf,GObject,Pango,Gdk,Gio

I will investigate this gi module. As for my import problem, it turned out that it was my own fault: following some recommendation on the web, I had added /usr/share/pyshared to the python path in ~/.profile and forgot to logout and in again after undoing this change. Everything works fine again, and I am ready to explore the new modules.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top