решения на python

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
yun_man_ger
Posts:32
Joined:27 September 2010, 07:37
решения на python

Post by yun_man_ger » 28 February 2011, 12:01

проблема:
когда посылают решения на python, всегда выдается Run-time error.
в run report говорится

Code: Select all

SyntaxError: encoding problem: with BOM
это проблема с кодировкой. я ее поправил убрав из скрипта judges/compile/scripts/python
строчки

Code: Select all

echo "# coding: latin1" >> $2
echo >> $2
теперь вроде работает, но всегда в репорте видно что python не может подгрузить
модуль site.

Code: Select all

'import site' failed; use -v for traceback
который обычно лежит в папке site-packages или dist-packages
тут наверное что-то с средой запуска?

1) как это поправить?
2) почему именно latin1? стоит ли переводить все решения в latin1?
у меня они передаются через форму на сайте и сохраняются вроде в utf8.

версия ejudge: 2.3.17
версия python: 2.6.4rc2

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: решения на python

Post by cher » 28 February 2011, 18:13

У Вас используется патч к ядру? Какая версия?

yun_man_ger
Posts:32
Joined:27 September 2010, 07:37

Re: решения на python

Post by yun_man_ger » 01 March 2011, 13:41

да используется. linux-2.6.34.1-2.6.34.1-cher1

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: решения на python

Post by cher » 03 March 2011, 13:06

Да, это известная проблема. Она будет решена в ближайшее время.

В качестве временного способа решения можно отключить безопасный режим для запуска python-программ.

yun_man_ger
Posts:32
Joined:27 September 2010, 07:37

Re: решения на python

Post by yun_man_ger » 29 March 2011, 10:24

а как отключить отдельный компилятор от безопасного режима?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: решения на python

Post by cher » 29 March 2011, 18:50

На странице редактирования контестов перейти на вкладку "Language settings", далее нажать на "Details" для нужного компилятора, далее "Disable security restrictions" установить в Yes и нажать "Change".

Post Reply