Python. ImportError: No module named XXX
Minor 26 мая, 2012 - 15:34
Проблема эта беспокоит уже давно, однакодо сих пор не могу найти внятного решения. Python то и дело при запуске программ пишет что не может импортить модуль которые есть в системе. Ярым примером может служить RabbitVCS в Thunar. При Запуске сего чуда постоянно вылазит:
RuntimeError: Bad magic number in .pyc file ERROR rabbitvcs.services.checkerservice org.freedesktop.DBus.Error.ServiceUnknown: The name org.google.code.rabbitvcs.RabbitVCS.Checker was not provided by any .service files Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/rabbitvcs/services/checkerservice.py", line 263, in _connect_to_checker OBJECT_PATH) File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object follow_name_owner_changes=follow_name_owner_changes) File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__ self._named_service = conn.activate_name_owner(bus_name) File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner self.start_service_by_name(bus_name) File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name 'su', (bus_name, flags))) File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking message, timeout) DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.google.code.rabbitvcs.RabbitVCS.Checker was not provided by any .service files
А при попыытке обновиться с svn что-то типа этого:
Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/rabbitvcs/ui/checkmods.py", line 23, in <module> import thread ImportError: No module named thread Traceback (most recent call last): File "/usr/lib64/thunarx-2/python/RabbitVCS.py", line 278, in is_process_still_alive func() File "/usr/lib64/thunarx-2/python/RabbitVCS.py", line 261, in do_check summary=True) File "/usr/lib64/python2.7/site-packages/rabbitvcs/services/checkerservice.py", line 374, in check_status return self.check_status_now(path, recurse, invalidate, summary) File "/usr/lib64/python2.7/site-packages/rabbitvcs/services/checkerservice.py", line 306, in check_status_now json_status = self.status_checker.CheckStatus(path, AttributeError: 'NoneType' object has no attribute 'CheckStatus'
Сам питон скомпилен с флагом threads:
[I] dev-lang/python Available versions: (2.5) 2.5.4-r4 (2.6) 2.6.6-r2 ~2.6.7-r2 2.6.8 (2.7) 2.7.2-r3 ~2.7.3 2.7.3-r1 ~2.7.3-r2 (3.1) 3.1.4-r3 ~3.1.4-r4 3.1.5 (3.2) 3.2.2 ~3.2.2-r1 3.2.3 ~3.2.3-r1 {-berkdb build doc elibc_uclibc examples gdbm ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml} Installed versions: 2.7.3-r1(2.7)(21:02:06 24.05.2012)(gdbm ipv6 ncurses readline sqlite ssl threads wide-unicode xml -berkdb -build -doc -elibc_uclibc -examples -tk -wininst) 3.2.3(3.2)(21:04:34 24.05.2012)(gdbm ipv6 ncurses readline ssl threads wide-unicode xml -build -doc -elibc_uclibc -examples -sqlite -tk -wininst) Homepage: http://www.python.org/ Description: Python is an interpreted, interactive, object-oriented programming language.
eselect python list:
Available Python interpreters: [1] python2.7 [2] python3.2 *
Пыталсязапускать python-updater, но он от раза к разу хочет пперекомпилить одни и те-же пакеты:
localhost minor # python-updater * Starting Python Updater... * Main active version of Python: 3.2 * Active version of Python 2: 2.7 * Active version of Python 3: 3.2 * Globally supported Python ABIs in installed repositories: * gentoo: 2.4 2.5 2.6 2.7 3.1 3.2 2.5-jython 2.7-pypy-1.7 2.7-pypy-1.8 * x-myOverlay: 2.4 2.5 2.6 2.7 3.1 3.2 2.5-jython 2.7-pypy-1.7 2.7-pypy-1.8 * Adding to list: dev-libs/libxslt:0 * Adding to list: dev-vcs/subversion:0 * Adding to list: media-libs/lcms:0 * Adding to list: sys-apps/file:0 * Adding to list: sys-devel/gdb:0 * Adding to list: sys-libs/cracklib:0 * emerge -Dv1 --keep-going dev-libs/libxslt:0 dev-vcs/subversion:0 media-libs/lcms:0 sys-apps/file:0 sys-devel/gdb:0 sys-libs/cracklib:0
Собственно я в растерянности что с этим можно сделать.
»
- Для комментирования войдите или зарегистрируйтесь
А если основным поставить
А если основным поставить 2.7?
Если 2.7 то оно работает. Но
Если 2.7 то оно работает. Но не зря ведь по умолчанию стоит 3.2 ?
не зря: что бы проблем
не зря: что бы проблем словить )
ps на ~ по умолчанию 2.7
_SerEga_ написал(а): ps на ~
Нет.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Как-то я не заметил, когда
Как-то я не заметил, когда это случилось. да и в eselect news list этого нет.
А потому что ничего не
А потому что ничего не случалось.
Просто уже некоторое время в stage3 наличествует только Python 3, и он, естественно, eselect'нут. А в более старых системах так и остался 2.7.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Я такие ошибки тоже ловил,
Глядя на ошибки видно, что идут попытки использовать версию 2.7.
Я такие ошибки тоже ловил, когда ставил по умолчанию версию 3.2, а дело всё в том, что не все программы умеют работать на этой версии питона. Я не стал разбираться как подсовывать отдельным программам нужную версию, поэтому поставил 2.7, которую практически все поддерживают.
Явно какая-то путаница с
Явно какая-то путаница с модулями питона в системе. По идее, оно должно бы разруливаться. И мне не нравится, что `python-updater` безуспешно перебирает эти пакеты.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
RuntimeError: Bad magic
RuntimeError: Bad magic number in .pyc file
Это плохо, надо искать какой файл кидает эту ошибку. Попробуй пересобрать python и RabbitVCS.
По поводу import thread — это вроде как не модуль системной библиотеки, а скорее всего модуль самого RabbitVCS. Значит проблема в нем и надо пытаться его пересобирать.
Скорее всего косяк в том, как Thunar пытается его загрузить, потому что сам RabbitVCS не умеет третий питон.