|
Модераторы: Daevaorn |
|
v4567 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Ребята помогите пожалуйста скачал 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 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 5.6.2007 Репутация: 2 Всего: 2 |
Ошибки выдает, потому что синтакcис третьего Python'а отличается от синтаксиса второго. Попробуйте натравить на библиотеку утилиту 2to3.
Это сообщение отредактировал(а) Backward - 16.2.2012, 05:52 |
|||
|
||||
v4567 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Backward спасибо за помощь, только вопрос на какую библиотеку я в питоне вообще ничего не понимаю.
|
|||
|
||||
Backward |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 5.6.2007 Репутация: 2 Всего: 2 |
На iotop, разумеется. Скачайте исходники, распакуйте, примените утилиту 2to3, попытайтесь установить, то что получилось.
ЗЫ. установленный ранее пакет удалите. |
|||
|
||||
v4567 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
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 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 5.6.2007 Репутация: 2 Всего: 2 |
Все зависит от опыта и понимания того, что происходит :(. Поправите в этом месте, наверняка вылезет такая же ошибка в другом месте - библиотека написана под вторую ветку Python'а :( |
|||
|
||||
v4567 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Всё поставил python v.2.7 переустановил iotop и он заработал.
|
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |