Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Python: Общие вопросы > iotop v 0.4.4 не работает в python v.3.2.2 |
Автор: v4567 15.2.2012, 23: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 с добавлением своего. Заранее хочу сказать что дело скорей всего не в линуксе (то есть библиотеках и прочее), так как система работает нормально. За помощь заранее благодарен. |
Автор: Backward 16.2.2012, 05:51 |
Ошибки выдает, потому что синтакcис третьего Python'а отличается от синтаксиса второго. Попробуйте натравить на библиотеку утилиту 2to3. |
Автор: v4567 16.2.2012, 10:38 |
Backward спасибо за помощь, только вопрос на какую библиотеку я в питоне вообще ничего не понимаю. |
Автор: Backward 16.2.2012, 15:09 |
На iotop, разумеется. Скачайте исходники, распакуйте, примените утилиту 2to3, попытайтесь установить, то что получилось. ЗЫ. установленный ранее пакет удалите. |
Автор: v4567 19.2.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 это наверное уже никак не исправить? |
Автор: Backward 20.2.2012, 07:37 | ||
Все зависит от опыта и понимания того, что происходит :(. Поправите в этом месте, наверняка вылезет такая же ошибка в другом месте - библиотека написана под вторую ветку Python'а :( |
Автор: v4567 23.2.2012, 01:18 |
Всё поставил python v.2.7 переустановил iotop и он заработал. |