У меня возникли проблемы с работой OMPC, потому что (I) модуль md5 устарел, (II) Python 2.6 и более поздние версии больше не принимают аргументы для Object .__ new __ () или Object .__ init __ () и (III)Необходимо обновить скрипт byteplay.py.
Чтобы решить проблему (I), я изменил строку 74 файла yacc.py, находящуюся в каталоге ompc /.Эта строка импортирует MD5 среди прочего.Я удалил модуль md5 и добавил строку ниже:
from hashlib import md5
Позже в скрипте yacc.py, в строке 1160, я изменил
Signature = md5.new()
на следующее,
Signature = md5()
Чтобы запустить код, сгенерированный ompcply.py, добавьте 'from ompc import *' в начало файла, а затем запустите его с более ранней версией Python, как:
$ python2.5 ompcply.py script.m > newscript.pym
$ python2.5 newscript.pym
Использование версии Python более поздней, чем 2.5, приведет к следующей ошибке:
/home/connor/downloads/OMPC/ompclib/ompclib_numpy.py:66: DeprecationWarning: object.__new__() takes no parameters
a = super(mvar, cls).__new__(cls, *args, **kwargs)
Для решения проблемы (III) я погуглил byteplay и заменил существующий скрипт более новой версией.