То, что вы имеете, должно быть правильным. Python 2.5 представил оператор with как нечто, что вы можете импортировать из __future__
. Поскольку ваш код верен, единственное объяснение, которое я могу придумать, заключается в том, что ваша версия на Python - это не то, что вы думаете. Существует большая вероятность того, что в системе установлено несколько версий python, и по какой-то причине ваш код работает с более старой версией. Попробуйте запустить его так:
[root@234571-app2 git]# /usr/bin/python2.5 test.py
Предполагая, что это работает, вы можете изменить свою первую строку, чтобы указать, какую версию Python вы хотите. Это может быть либо прямой путь к python2.5
, либо вы можете использовать команду env
для поиска пользовательской переменной PATH
для python2.5. Правильный подход зависит от того, что устанавливает ваш системный Python. Вот 2 подхода:
Чтобы использовать /usr/bin/python2.5 напрямую, вы можете сделать это:
#!/usr/bin/python2.5
Чтобы использовать любую версию python2.5, которая появляется первой в вашем PATH, сделайте следующее:
#!/usr/bin/env python2.5