iotop v 0.4.4 не работает в python v.3.2.2

 
0
 
Python
ava
v4567 | 16.02.2012, 00:20
Ребята помогите пожалуйста скачал iotop то есть пакет iotop версии 0.4.4 это питоновский скрипт показывает загрузку винтов. При установке он выдал ошибки:

Writing /usr/lib/python3.2/site-packages/iotop-0.4.4-py3.2.egg-info
File "/usr/lib/python3.2/site-packages/iotop/ioprio.py", line 178
print 'pid:', pid
^
SyntaxError: invalid syntax

File "/usr/lib/python3.2/site-packages/iotop/ui.py", line 152
except select.error, e:
^
SyntaxError: invalid syntax

File "/usr/lib/python3.2/site-packages/iotop/data.py", line 52
print 'Could not run iotop as some of the requirements are not met:'
^
SyntaxError: invalid syntax

но файлы все установились, в том числе и сам скрипт iotop.

Вот сам скрипт:

#!/usr/bin/python
# iotop: Display I/O usage of processes in a top like UI
# Copyright © 2007, 2008 Guillaume Chazarain <[email protected]>, GPLv2
# See iotop --help for some help

import sys

try:
from iotop.ui import main
except ImportError, e:
print e
print 'To run an uninstalled copy of iotop,'
print 'launch iotop.py in the top directory'
else:
try:
main()
except KeyboardInterrupt:
pass
sys.exit(0)


при установленом питоне версии 2.6 скрипт работае хорошо, а вот при установленной версии питона 3.2.2 при запуске выдаёт вот что:

File "/usr/bin/iotop", line 10
except ImportError, e:
^
SyntaxError: invalid syntax

Я питона абсолютно не знаю, если кто может помочь помогите пожалуйста. Может как то можно проверить вообще работоспособность питона? Питон установлен на линукс, линукс самосбор lfs с добавлением своего. Заранее хочу сказать что дело скорей всего не в линуксе (то есть библиотеках и прочее), так как система работает нормально. За помощь заранее благодарен.
Kommentare (6)
ava
Backward | 16.02.2012, 05:51 #
Ошибки выдает, потому что синтакcис третьего Python'а отличается от синтаксиса второго. Попробуйте натравить на библиотеку утилиту 2to3.
ava
v4567 | 16.02.2012, 10:38 #
Backward спасибо за помощь, только вопрос на какую библиотеку я в питоне вообще ничего не понимаю.
ava
Backward | 16.02.2012, 15:09 #
На iotop, разумеется. Скачайте исходники, распакуйте, примените утилиту 2to3, попытайтесь установить, то что получилось.
ЗЫ. установленный ранее пакет удалите.
ava
v4567 | 19.02.2012, 15:43 #
Backward сделал как ты говоришь - натравил 2yo3 на iotop, в результате чего были исправлены все синтаксические ошибки и iotop был без проблем установлен. Но при запуске выдало вот что:
Traceback (most recent call last):
File "/usr/bin/iotop", line 16, in <module>
main()
File "/usr/lib/python3.2/site-packages/iotop/ui.py", line 571, in main
main_loop()
File "/usr/lib/python3.2/site-packages/iotop/ui.py", line 561, in <lambda>
main_loop = lambda: run_iotop(options)
File "/usr/lib/python3.2/site-packages/iotop/ui.py", line 465, in run_iotop
return curses.wrapper(run_iotop_window, options)
File "/usr/lib/python3.2/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/lib/python3.2/site-packages/iotop/ui.py", line 455, in run_iotop_window
taskstats_connection = TaskStatsNetlink(options)
File "/usr/lib/python3.2/site-packages/iotop/data.py", line 146, in __init__
self.family_id = controller.get_family_id('TASKSTATS')
File "/usr/lib/python3.2/site-packages/iotop/genetlink.py", line 65, in get_family_id
a = NulStrAttr(CTRL_ATTR_FAMILY_NAME, family)
File "/usr/lib/python3.2/site-packages/iotop/netlink.py", line 131, in __init__
Attr.__init__(self, attr_type, "%dsB" % len(data), data, 0)
File "/usr/lib/python3.2/site-packages/iotop/netlink.py", line 97, in __init__
self.data = struct.pack(data, *values)
struct.error: argument for 's' must be a bytes object

это наверное уже никак не исправить?
ava
Backward | 20.02.2012, 07:37 #
Цитата (v4567 @ 19.2.2012, 15:43)
это наверное уже никак не исправить?

Все зависит от опыта и понимания того, что происходит :(. Поправите в этом месте, наверняка вылезет такая же ошибка в другом месте - библиотека написана под вторую ветку Python'а :(
ava
v4567 | 23.02.2012, 01:18 #
Всё поставил python v.2.7 переустановил iotop и он заработал.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  Backward   v4567
advanced
Absenden