Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Python: Общие вопросы > Проблема с BoostPythonMetaclass |
Автор: Aliance 18.9.2008, 23:18 | ||
Странно, но вот такой код выдает ошибку:
Ошибка: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "...test.py", line 19, in <module> BoostPythonMetaclass = Coord.__class__ NameError: name 'Coord' is not defined Помогите. |
Автор: Aliance 20.9.2008, 21:18 |
В интернете нашел похожую http://www.linux.org.ru/view-message.jsp?msgid=2447167, там решение свелось к удалению лишней пустой строки - не очень понимаю где она. |
Автор: Fenrir13 21.9.2008, 09:41 |
По ссылке проблема всего лишь в кривых отступах, а не мифических пустых строках. А в вашем коде не видно, чтобы класс Coord был уже определен на момент строки BoostPythonMetaclass = Coord.__class__ Проверьте, точно ли он описан/подключен ранее. |
Автор: Aliance 21.9.2008, 12:35 | ||
В том-то и дело, что он ранее не определен. Но тем ни менее, если написать так:
Работать по-прежнему ничего не будет. |
Автор: Fenrir13 21.9.2008, 18:37 |
И что же тут странного? Откуда будет работать то, чего нет? И BoostPythonMetaclass = _Coord.__class__ ты небось тоже пишешь ДО определения _Coord? |
Автор: Aliance 22.9.2008, 11:59 | ||
Либо я чего-то не понимаю, либо ты ошибаешься. Смотри http://www.boost.org/doc/libs/1_31_0/libs/python/doc/tutorial/doc/extending_wrapped_objects_in_python.html, вот рабочий код:
В нем ведь тот же синтаксис - но все работает. |
Автор: Fenrir13 23.9.2008, 10:17 | ||
Тобой приведен кусок кода. Он не работает сам по себе. Класс point там берется из кода ранее:
А где берешь Coord ты? |